我需要点击编辑框突出显示编辑框中的所有文字 作为浏览器的编辑框网站地址
此按钮代码有效。
m_text.SetFocus();
m_text.SetSel(0, -1);
但编辑框事件无法正常工作
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.SetFocus();
m_text.SetSel(0, -1);
}
答案 0 :(得分:2)
问题是这是标准行为。当您单击编辑控件时,您指向的位置将被选中。
要克服此行为,应该可以在EM_SETSEL
处理程序中将EN_SETCOCUS
作为窗口消息发布。
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.PostMessage(EM_SETSEL,0,-1);
}
PS:在您的代码中,SetFocus
处理程序内部不需要额外的EN_SETFOCUS
。