2010-10-06 122 views
1

我有CEdit控件,我不希望默认情况下选择任何文本。我尝试使用从CEdit控件中的初始化文本中删除选择(取消选择)

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

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

我试着用下面的代码选择一些字符。这也是行不通的。

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

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

回答

3

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

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

没有什么,我所做的是:

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


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

通过这一点,我们要指出的是,我们将采取集中控制的护理对话框。

0

问题是为什么您的文本默认选中?使用它DDX_Control(pDX, IDC_EDIT1, m_txtURL)

  • 设置文本m_txtURL.SetWindowText(_T("just some text"))OnInitDialog
  • 没有

    • 子类应选择。