MFC在单击时突出显示任何文本编辑框
我需要通过单击编辑框来突出显示编辑框中的所有文本 作为浏览器的编辑框站点地址 这个按钮代码有效MFC在单击时突出显示任何文本编辑框,mfc,Mfc,我需要通过单击编辑框来突出显示编辑框中的所有文本 作为浏览器的编辑框站点地址 这个按钮代码有效 m_text.SetFocus(); m_text.SetSel(0, -1); 但编辑框事件不起作用 void CMFCApplication99Dlg::OnEnSetfocusEdit1() { m_text.SetFocus(); m_text.SetSel(0, -1); } 问题是这是标准行为。当您在编辑控件中单击时,将选择您指向的位置 要克服这种行为,应该可以在EN_
m_text.SetFocus();
m_text.SetSel(0, -1);
但编辑框事件不起作用
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.SetFocus();
m_text.SetSel(0, -1);
}
问题是这是标准行为。当您在编辑控件中单击时,将选择您指向的位置 要克服这种行为,应该可以在
EN_SETCOCUS
处理程序中将EM_setel
作为窗口消息发布
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.PostMessage(EM_SETSEL,0,-1);
}
PS:在您的代码中,当您在
EN_SetFocus
处理程序中时,不需要额外的SetFocus
。问题是这是标准行为。当您在编辑控件中单击时,将选择您指向的位置
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.PostMessage(EM_SETSEL,0,-1);
}
要克服这种行为,应该可以在EN_SETCOCUS
处理程序中将EM_setel
作为窗口消息发布
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.PostMessage(EM_SETSEL,0,-1);
}
PS:在您的代码中,当您在
EN_SetFocus
处理程序中时,不需要额外的SetFocus
。SetFocus是多余的。当您收到活动时,您已经获得了焦点!为了突出显示旁注上的所有文本,在对话框中调用SetFocus
几乎总是错误的。在MFC中,您调用发送WM_NEXTDLGCTL
message的函数。SetFocus是冗余的。当您收到活动时,您已经获得了焦点!为了突出显示旁注上的所有文本,在对话框中调用SetFocus
几乎总是错误的。在MFC中,您调用哪个发送WM_NEXTDLGCTL
消息。
void CMFCApplication99Dlg::OnEnSetfocusEdit1()
{
m_text.PostMessage(EM_SETSEL,0,-1);
}