Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mfc 只需要CListCtrl控件中的一些行就可以有复选框_Mfc - Fatal编程技术网

Mfc 只需要CListCtrl控件中的一些行就可以有复选框

Mfc 只需要CListCtrl控件中的一些行就可以有复选框,mfc,Mfc,我正在使用CListCtrl控件在我的MFC应用程序中显示信息。目前,我在SetExtendedStyle中设置了LVS_EX_复选框,因此控件中的所有行旁边都有一个复选框。但是,我希望控件中只有一些行具有复选框。这可能吗?如果是,这是如何做到的 谢谢 伊恩是的。您需要做的是创建复选框的位图,并将其包含在回拨中。您的一个位图将为空 或者,您可以进行一些所有者绘制并调用DrawFrameControl函数 您还可以添加代码来测试鼠标点击,并相应地做出响应 对于每个不应该有复选框的项目: LVITE

我正在使用CListCtrl控件在我的MFC应用程序中显示信息。目前,我在SetExtendedStyle中设置了LVS_EX_复选框,因此控件中的所有行旁边都有一个复选框。但是,我希望控件中只有一些行具有复选框。这可能吗?如果是,这是如何做到的

谢谢


伊恩是的。您需要做的是创建复选框的位图,并将其包含在回拨中。您的一个位图将为空

或者,您可以进行一些所有者绘制并调用DrawFrameControl函数


您还可以添加代码来测试鼠标点击,并相应地做出响应

对于每个不应该有复选框的项目:

LVITEM lvi;
lvi.stateMask = LVIS_STATEIMAGEMASK;
lvi.state = INDEXTOSTATEIMAGEMASK(0);
::SendMessage(m_hWnd, LVM_SETITEMSTATE, nItem, (LPARAM)&lvi);
要“创建”项目的复选框,请执行以下操作:

SetCheck(Item, true/false);

快速Q-点击复选框所在的空间会出现一个复选框,是我还是ClistCtrl的一个功能?@Serge:有没有gbjbannb的答案?