Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用资源编辑器在对话框中创建了一个树视图控件。
我已经按照 Microsoft 描述的方式使用 SetWindowLongPtr( ... ) 函数设置了复选框样式。
每个节点都有这种方式的复选框,但我只需要一些有复选框,而一些没有任何东西站在他们的文本旁边(父节点没有复选框,只有子节点或简单节点->没有子节点的节点)。
这可以通过子类化、自定义/所有者绘制或超类化来实现吗?
树控件使用状态图像来绘制复选框。根据有关TVS_CHECKBOXES样式的文档:
TVS_CHECKBOXES
状态图像 1 是未选中的框,状态图像 2 是选中的框。将状态图像设置为零会完全删除该复选框。
所以这样的事情应该让你从树项目中删除复选框:
TVITEM tvi; tvi.hItem = hTreeItem; tvi.mask = TVIF_STATE; tvi.stateMask = TVIS_STATEIMAGEMASK; tvi.state = 0; TreeView_SetItem(hWndTree, &tvi);