代码之家  ›  专栏  ›  技术社区  ›  RK-

从CEdit控件中的初始化文本中删除选择(取消选择)

  •  3
  • RK-  · 技术社区  · 15 年前

    我有CEdit控件,我不希望在默认情况下选择任何文本。我试着用

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

    删除所选内容,但无效。有人能提出一种实现这一目标的方法吗?

    我试着用下面的代码选择一些字符。那也不管用。

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

    有人能告诉我有什么问题吗?

    2 回复  |  直到 15 年前
        1
  •  4
  •   RK-    15 年前

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

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

    不,我所做的是:

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

    通过此操作,我们向对话框指示,我们将关注控件。

        2
  •  0
  •   Nikola Smiljanić    15 年前

    问题是,为什么默认情况下选择文本?

    • 使用子类 DDX_Control(pDX, IDC_EDIT1, m_txtURL)
    • 设置文本 m_txtURL.SetWindowText(_T("just some text")) 在里面 OnInitDialog

    不应选择任何内容。

    推荐文章