将CTreeCtrl项目的复选框设置为部分状态

时间:2010-02-12 13:44:39

标签: windows user-interface winapi mfc

首先我将TVS_EX_PARTIALCHECKBOXES添加到CTreeCtrl的扩展样式中:

TreeView_SetExtendedStyle(tree->GetSafeHwnd(), TVS_EX_PARTIALCHECKBOXES, TVS_EX_PARTIALCHECKBOXES);

现在我如何将任何项目设置为此状态?似乎没有任何关于此的文档。我猜测,因为通过将项目的状态图像更改为1或2来检查和取消选中,我可以试试3:

tree->SetItemState(tree->GetFirstVisibleItem(), INDEXTOSTATEIMAGEMASK(3), TVIS_STATEIMAGEMASK);

当然这太简单了,只是让图像消失了。

1 个答案:

答案 0 :(得分:0)

也许你需要使用tree->SetCheck()代替tree->SetItemState(),尝试将检查状态设置为2。