从CEdit控件中的初始化文本中删除选择(取消选择)
问题描述:
我有CEdit控件,我不希望默认情况下选择任何文本。我尝试使用从CEdit控件中的初始化文本中删除选择(取消选择)
m_txtURL.SetSel(-1, 0, TRUE);
删除选择,但无济于事。有人可以建议一种方法来实现这一目标吗?
我试着用下面的代码选择一些字符。这也是行不通的。
m_txtURL.SetSel(-1, 0, TRUE);
有人能告诉我问题可能是什么?
答
现在我可以取消选择编辑控件中的文本。我使用的编辑控件是对话框中的第一个控件,因此默认情况下对话框中的第一个控件已设置为焦点。从developers' reference:
如果OnInitDialog中返回非零值, 的Windows设置输入焦点在对话框中 第一控制。 应用程序只有在其 已明确将输入焦点设置为 对话框中的某个控件时才能返回0。
没有什么,我所做的是:
BOOL CIegSettingsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
return FALSE; // return TRUE unless you set the focus to a control
}
通过这一点,我们要指出的是,我们将采取集中控制的护理对话框。
答
设置文本
问题是为什么您的文本默认选中?使用它DDX_Control(pDX, IDC_EDIT1, m_txtURL)
m_txtURL.SetWindowText(_T("just some text"))
在OnInitDialog
没有
- 子类应选择。