单击控件时在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控件的内容的主要内容,如果未能解决你的问题,请参考以下文章