MFC单击时突出显示任何文本编辑框

时间:2017-11-10 11:08:33

标签: mfc

我需要点击编辑框突出显示编辑框中的所有文字 作为浏览器的编辑框网站地址

此按钮代码有效。

m_text.SetFocus();
m_text.SetSel(0, -1);

但编辑框事件无法正常工作

void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
    m_text.SetFocus();
    m_text.SetSel(0, -1);
}

1 个答案:

答案 0 :(得分:2)

问题是这是标准行为。当您单击编辑控件时,您指向的位置将被选中。

要克服此行为,应该可以在EM_SETSEL处理程序中将EN_SETCOCUS作为窗口消息发布。

void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
  m_text.PostMessage(EM_SETSEL,0,-1);
}

PS:在您的代码中,SetFocus处理程序内部不需要额外的EN_SETFOCUS