WebBrowser和Edit控件同时存在时光标BUG
之前在网上看到过,大概就是对话框上同时有WebBrowser和Edit控件,如果鼠标点击WebBrowser控件后再点击Edit控件,Edit控件的输入光标不能显示,但能够正确输入文字。亲自试验了一下(VS2012),确实存在这个BUG,然后网上搜了下解决方案,没有找到,╮(╯_╰)╭。
自己研究了一下,最终解决方案就是重载PreTranslateMessage,在里面帮它SetFocus一下,搞定。附上代码:
BOOL CXXDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_LBUTTONDOWN)
{
CWnd *pwnd=GetDlgItem(IDC_EDIT_STR);
if (pMsg->hwnd==pwnd->GetSafeHwnd())
{
pwnd->SetFocus();
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
你这代码段这块,还能直接复制,怎么弄出来的??:lol gxm771208 发表于 2015-11-17 09:57
你这代码段这块,还能直接复制,怎么弄出来的??
点那个添加代码,然后放里面
魔幻使者Jack 发表于 2015-11-17 10:47
点那个添加代码,然后放里面
哦,谢了,:lol昨晚试了几次没弄出来。 魔幻使者Jack 发表于 2015-11-17 10:47
点那个添加代码,然后放里面
:victory:果然好用
页:
[1]