Klizzardy 2022-05-06 10:28
浏览 13
已结题

MFC中CTreeCtrl 的光标选中问题

当用鼠标选中CTreeCtrl 中的一个节点时,被选中的节点变成了深蓝色的光标选中状态。这时我要它那种深蓝色的光标一直存在,直到我点击选中其他节点。
现在的情况是:被选中的节点变成了深蓝色的光标选中状态以后,当鼠标移出当前对话框后,深蓝色的光标就看不到了。

找到的解决方法是:

1.把tree的show selection always选中:这种方法的效果就是,当鼠标移出tree所在对话框后,节点的选中状态从蓝色变成了灰色,至少比之前明显了一些。

2.在头文件里重写一个CTestTreeCtrl类继承于CTreeCtrl类,在CTestTreeCtrl类中只需要做:

class CTestTreeCtrl : public CTreeCtrl
{
    DECLARE_MESSAGE_MAP()
    afx_msg void OnKillFocus(CWnd* pNewWnd);
}
void CTestTreeCtrl::OnKillFocus(CWnd* pNewWnd)
{
    //重写这个函数,就是为了不再返回,所以这里什么都不做
}

然后对话框中的tree控件用CTestTreeCtrl构建。就可以完美解决上述问题了。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月14日
    • 创建了问题 5月6日

    悬赏问题

    • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
    • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
    • ¥15 Centos / PETSc / PETGEM
    • ¥15 centos7.9 IPv6端口telnet和端口监控问题
    • ¥120 计算机网络的新校区组网设计
    • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 海浪数据 南海地区海况数据,波浪数据
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等