c++ - 为什么我的 CTreeCtrl 复选框没有选中?

标签 c++ windows mfc

我有一个 MFC CTreeCtrl 卡在一个打开了 TVS_CHECKBOXES 样式的对话框中。我的所有树项目旁边都有复选框。在 OnInitDialog 中,我使用 CTreeCtrl::SetCheck 设置了一些项目的选中状态,但在显示树时没有选中树中的任何项目。 SetCheck 正在返回 TRUE。用鼠标检查项目工作正常。有人遇到过这个吗?

最佳答案

找出问题所在。我在 visual studio 资源编辑器中设置了 TVS_CHECKBOXES 样式。显然这导致了我在初始检查时遇到的问题。相反,你必须做


   m_nodeTree.ModifyStyle (TVS_CHECKBOXES, 0);
   m_nodeTree.ModifyStyle (0, TVS_CHECKBOXES);

在 OnInitDialog 中填充树之前。完成此操作后,一切正常。

关于c++ - 为什么我的 CTreeCtrl 复选框没有选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1289519/

相关文章:

c++ - COleControl的ActiveX和HWND

c++ - 为什么我不能将 std::unordered_map 或 boost::unordered_map 与 boost::multiprecision 类型一起使用?

c++ - 在 C/C++ 中遍历 Fasta 文件

C# Windows 通用 ListView 将按钮绑定(bind)到图标失败

sql-server - 使用 Reporting Services 实现 Windows 身份验证

c++ - 使用 CString 转换 int 并发送到控制台

c++ - MFC,如何从主窗口关闭模态对话框?

c++ - 为什么需要在这个 C++ 模板中指定类型?

c++ - 使用 Opencv 分布良好的特征

windows - Git:致命: 'sha1 file' 上的 fsync 错误:文件描述符错误