如何将复选框控件添加到mfc中的listcontrol子项

如何将复选框控件添加到mfc中的listcontrol子项,mfc,Mfc,我需要向listcontrol子项添加复选框控件。首先,我会让您知道我做了什么,最初我添加了一个报表样式的listcontrol,并向listview添加了复选框样式,如下所示 m_MfpListControl.SetExtendedStyle(LVS_EX_复选框) 代码的这一步是将复选框添加到最前面的列中。但是,我想将复选框随机添加到子项中,如下所示: 第1列|第2列|第3列|第4列 []项目1 |[]子项目1 |[]子项目2 |[]子项目3 []-表示复选框 为“Item1”添加不是什么

我需要向listcontrol子项添加复选框控件。首先,我会让您知道我做了什么,最初我添加了一个报表样式的listcontrol,并向listview添加了复选框样式,如下所示

m_MfpListControl.SetExtendedStyle(LVS_EX_复选框)

代码的这一步是将复选框添加到最前面的列中。但是,我想将复选框随机添加到子项中,如下所示:

第1列|第2列|第3列|第4列


[]项目1 |[]子项目1 |[]子项目2 |[]子项目3

[]-表示复选框

为“Item1”添加不是什么大不了的事,但是添加到子项会让我失望,而且我尝试了很多方式,比如在插入项之后,我将特定项的状态设置为

m_MfpListControl.SetItemState(0,IndexStateImageMask(3),LVIS_STATEIMAGEMASK)

但这也没有很好地工作,因为我能够添加和删除第一列的复选框,我尝试了一种应用相同方法的方式,比如设置项状态,就像我使用“SetItemState()”API将复选框控件添加到子项中一样,不幸的是,对于子项,它不起作用


任何人都可以告诉我正确的方法,以便我能够向子项添加复选框。

我使用此类在子项上添加复选框:

它需要LVS_所有者数据。就我而言,这不是问题

此类还会在子项上添加复选框,但不包含LVS_OWNERDATA:


Vinicius

您是否尝试过设置?您需要提供复选框图像。自定义绘制或所有者绘制是获取子项复选框功能的唯一方法。是的,我使用LVS_EX_SUBITEMIMAGES进行了选中,它只是将复选框图像添加到子项中,但我需要的是我必须能够选中复选框并取消选中它。由于我是mfc新手,请告诉我如何绘制此所有者。如果可能,请用一段代码为我详细说明。除了此之外,我们没有其他解决方案。我查看了您提供的链接,但它太大了。我尝试调试该应用程序并尝试设置复选框,但每个方法都与其他方法有一些链接,并且都很有用像任何东西一样成长。您能告诉我任何其他方法来添加代码片段,该代码片段只能在我的项目中的子项中生成复选框:)