CComboBox::ShowDropDown光标消失的问题

来源:互联网 发布:coreldraw x6软件下载 编辑:程序博客网 时间:2024/06/03 19:23

MFC中,当使用ccomboBox的输入自动显示下拉列表时,光标消失。原因是由于该控件是由编辑框和下拉列表组合的。当在编辑框中输入时,光标会变成输入模式,原来的cursor隐藏,当鼠标移动时才显示在新的移动后的位置(CEdit),而CComboBox不会显示。而且你会发现当鼠标移出程序时又能显示,感觉鼠标回到了桌面窗口。

解决方法就是在CComboBox::OnCbnEditchange()做文本更改后,发送WM_SETCURSOR消息到控件父窗口就行了。

ShowDropDown(TRUE) 之后调用 ::SendMessage(GetParent()->m_hWnd, WM_SETCURSOR, 0, 0);

原创粉丝点击