VC++如何在多列中添加复选框
Posted
技术标签:
【中文标题】VC++如何在多列中添加复选框【英文标题】:How to add checkboxes in multiple columns in 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;
。
【参考方案1】:
CListCtrl
带有报告视图的类将允许您仅在第一列中添加复选框。要在多列中添加复选框,您必须派生您自己的 CListCtrl,并且您必须自己完成。以下是一些可能对您有所帮助的示例:
-
http://www.codeproject.com/Articles/29064/CGridListCtrlEx-Grid-Control-Based-on-CListCtrl
http://www.codeproject.com/Articles/1796/XListCtrl-A-custom-draw-list-control-with-subitem
http://www.codeproject.com/Articles/8112/CQuickList
【讨论】:
以上是关于VC++如何在多列中添加复选框的主要内容,如果未能解决你的问题,请参考以下文章