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

时间:2010-10-06 06:37:17

标签: visual-c++ mfc

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

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

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

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

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

有人可以告诉我问题是什么吗?

2 个答案:

答案 0 :(得分:3)

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

  

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

不,我所做的是:

BOOL CIegSettingsDlg::OnInitDialog()
{
    CDialog::OnInitDialog();


    return FALSE;  // return TRUE unless you set the focus to a control
}

通过这个我们在对话框中指出,我们将注意聚焦控件。

答案 1 :(得分:0)

问题是为什么默认情况下会选择您的文字?

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

不应选择任何内容。