如何在VC ++中的多列中添加复选框

时间:2014-12-05 05:44:02

标签: visual-c++ checkbox clistctrl visual-c++-2005

我是Visual C ++的新手,我使用的是Visual C ++ 2005,我想在报告中显示一些我正在使用ListControl的记录。我的单个记录条目包含两个布尔字段,因此ListControl中的每一行都用复选框表示。简而言之,每行中将有两个复选框。我使用ListControl,但我发现每个条目只有一个复选框。那么任何人都可以解释我如何在ListControl中添加多列复选框,以及我在Visual C ++中可以用来做同样事情的其他类。我将InitDialog实施为:

BOOL MyRecords::OnInitDialog()
{
    CDialog::OnInitDialog();

    m_listCtrl.SetExtendedStyle(LVS_EX_CHECKBOXES);
    m_listCtrl.InsertColumn(1,"First-Bool");
    m_listCtrl.SetColumnWidth(0, 70);

    UInt16 i = 0;
    CString pcid;

    for ( ; i <= 503; i++) {
        pcid.Format(_T("%d"), i);
        m_listCtrl.InsertItem(i, pcid);
    }

    return true;
}

1 个答案:

答案 0 :(得分:1)

带有报告视图的

CListCtrl课程只允许您在第一列中添加复选框。要在多列中添加复选框,您必须派生您自己的CListCtrl,并且您已经自己完成了。以下是可以帮助您的几个例子:

  1. http://www.codeproject.com/Articles/29064/CGridListCtrlEx-Grid-Control-Based-on-CListCtrl
  2. http://www.codeproject.com/Articles/1796/XListCtrl-A-custom-draw-list-control-with-subitem
  3. http://www.codeproject.com/Articles/8112/CQuickList