CComboBox::ShowDropDown光标消失的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/evil_119/article/details/78020835

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

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

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

猜你喜欢

转载自blog.csdn.net/evil_119/article/details/78020835