首页 > 解决方案 > 我们如何在 MFC 中为自绘列表控件添加复选框?

问题描述

如何制作带有复选框的所有者绘制列表控件。我需要的是:我有单独的数据,每个都有不同的颜色代码。我需要将其添加到具有以下格式的列表控件: 这允许多选 [复选框] [颜色代码矩形] Text_Item 我需要使用复选框来选择我想要选择的。我应该能够从 listcontrol 中选择多个项目,而无需使用 CTRL+Click。

我尝试使用 DrawFrameControl 来获取复选框。但是使用它我们一次只能选择一个项目。以下是我在 drawitem 方法中使用的代码。

无效 OwnerdrawListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) {

       bool sel = (lpDrawItemStruct->itemState && ODS_SELECTED);
       if
             DrawFrameControl(*pDC, rcItem, DFC_BUTTON, DFCS_CHECKED);
       else
             DrawFrameControl(*pDC, rcItem, DFC_BUTTON, DFCS_INACTIVE);

}

这就是我将复选框添加到我的 listCtrl.Im 处理 NM_Click 事件的方式,在该事件中,我设置enter code here正在单击的 i tem 的状态。

标签: checkboxmfcmulti-selectclistctrlownerdrawn

解决方案


推荐阅读