【问题标题】:Remove selection from initialized text (Deselect) in CEdit control从 CEdit 控件中的初始化文本(取消选择)中删除选择
【发布时间】:2010-10-06 06:37:16
【问题描述】:

我有 CEdit 控件,我不希望默认选择任何文本。我尝试使用

    m_txtURL.SetSel(-1, 0, TRUE);

删除选择,但无济于事。有人可以提出一种方法来实现这一目标吗?

我尝试使用以下编码选择一些字符。那也没用。

m_txtURL.SetSel(-1, 0, TRUE);

谁能告诉我可能是什么问题?

【问题讨论】:

    标签: visual-c++ mfc


    【解决方案1】:

    现在我可以取消选择编辑控件中的文本。我使用的编辑控件是对话框中的第一个控件,因此默认情况下对话框中的第一个控件已设置为焦点。来自developers' reference

    如果 OnInitDialog 返回非零值, Windows 将输入焦点设置为 对话框中的第一个控件。这 应用程序只能返回 0 已将输入焦点显式设置为 对话框中的控件之一。

    不,我所做的是:

    BOOL CIegSettingsDlg::OnInitDialog()
    {
        CDialog::OnInitDialog();
    
    
        return FALSE;  // return TRUE unless you set the focus to a control
    }
    

    通过这个我们向对话框表明,我们会关注一个控件。

    【讨论】:

      【解决方案2】:

      问题是为什么默认选择你的文本?

      • 使用DDX_Control(pDX, IDC_EDIT1, m_txtURL)对其进行子类化
      • OnInitDialog中设置文字m_txtURL.SetWindowText(_T("just some text"))

      不应选择任何内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-11
        • 1970-01-01
        • 1970-01-01
        • 2015-01-03
        • 2013-09-13
        • 2020-05-08
        相关资源
        最近更新 更多