单击控件时在MFC中选择CEdit控件的内容
Posted
技术标签:
【中文标题】单击控件时在MFC中选择CEdit控件的内容【英文标题】:Selecting content of CEdit control in MFC when clicking the control 【发布时间】:2012-06-04 06:18:43 【问题描述】:当我单击 CEdit 的文本时,我如何才能选择 CEdit 控件的内容。 我可以使用此代码选择内容:
m_ctrlEdit.SetFocus();
m_ctrlEdit.SetSel(0, -1, FALSE);
我将代码放在ON_EN_SETFOCUS
消息处理程序中,但代码在那里不起作用。
【问题讨论】:
小心更改标准 Windows 行为。用户习惯了事情的运作方式,并对点击会发生什么有预期。 【参考方案1】:创建一个自定义 CEdit 控件,并在自定义类中添加处理程序 OnLButtonDown 并在其中放置以下代码
void CMyEdit::OnLButtonDown(UINT nFlags, CPoint point)
// TODO: Add your message handler code here and/or call default
CEdit::OnLButtonDown(nFlags, point);
SetSel(0, -1, FALSE);
【讨论】:
+1:请注意,@Jeeva 允许默认基类实现仍然发生。这很重要。以上是关于单击控件时在MFC中选择CEdit控件的内容的主要内容,如果未能解决你的问题,请参考以下文章
即使焦点在其他对话框上,我们如何才能使 Cedit 控件文本突出显示?
在 MFC 中,当 CEdit 控件达到最大字符时,退格不起作用
MFC - 是不是可以为除 CEdit 之外的任何其他控件显示气球提示?