2010-10-06 1 views
1

У меня есть элемент управления CEdit, и я не хочу, чтобы по умолчанию был выбран текст. Я пробовал использоватьУдалить выделение из инициализированного текста (Снять выделение) в элементе управления CEdit

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

, чтобы удалить выделение, но безрезультатно. может ли кто-нибудь предложить способ сделать это?

Я попытался выбрать некоторые символы, используя следующую кодировку. Это тоже не сработало.

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

Может кто-нибудь сказать мне, в чем проблема?

ответ

3

Теперь я могу отменить выбор текста в элементе управления Edit. Элемент управления редактирования, который я использую, является первым элементом управления в диалоговом окне, поэтому по умолчанию первый элемент управления в диалоговом окне настроен на фокусировку. От 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

Ничего должен быть выбран.

Смежные вопросы