【问题标题】:How to add checkboxes in multiple columns in VC++VC++如何在多列中添加复选框
【发布时间】:2014-12-05 05:44:02
【问题描述】:

我是 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;
}

【问题讨论】:

  • 使用BOOL时最好使用return TRUE;

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


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 2018-09-11
    • 2015-02-28
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    相关资源
    最近更新 更多