Не могу установить Focus
От: ZaycevSN  
Дата: 03.07.02 06:44
Оценка:
Многочисленный Народ! Я изучаю VC 6.0 примерно полгода (т.е. я лох).Но суть не в этом.
Хочу получить консультацию.
Создаю CDialog в нем есть кн. ОК и CANCEL и от CEdit создан класс MyEdit. КАК ЗДЕЛАТЬ MyEdit АКТИВНЫМ ПРИ АКТИВИЗАЦИИ ДИАЛОГА? У меня не получается.
Я пытался через:

 ::OnInitDialog()

    ::SetFocus(GetDlgItem(.. );


но GetDlgItem ругается . Может быть чого не так делаю?
Re: Не могу установить Focus
От: AlexanderK Россия  
Дата: 03.07.02 06:49
Оценка:
Здравствуйте ZaycevSN, Вы писали:

ZSN>Многочисленный Народ! Я изучаю VC 6.0 примерно полгода (т.е. я лох).Но суть не в этом.

ZSN>Хочу получить консультацию.
ZSN>Создаю CDialog в нем есть кн. ОК и CANCEL и от CEdit создан класс MyEdit. КАК ЗДЕЛАТЬ MyEdit АКТИВНЫМ ПРИ АКТИВИЗАЦИИ ДИАЛОГА? У меня не получается.
ZSN>Я пытался через:
ZSN>

ZSN> ::OnInitDialog()

ZSN>    ::SetFocus(GetDlgItem(.. );
ZSN>


ZSN>но GetDlgItem ругается . Может быть чого не так делаю?

ZSN>

Поставь его первым в TabOrder
Чтобы хорошо работать, надо получать от этого удовольствие! (c) Michael Schumacher

Re: Не могу установить Focus
От: Алекс Россия http://wise-orm.com
Дата: 04.07.02 03:03
Оценка:
Здравствуйте ZaycevSN, Вы писали:

ZSN>Многочисленный Народ! Я изучаю VC 6.0 примерно полгода (т.е. я лох).Но суть не в этом.

ZSN>Хочу получить консультацию.
ZSN>Создаю CDialog в нем есть кн. ОК и CANCEL и от CEdit создан класс MyEdit. КАК ЗДЕЛАТЬ MyEdit АКТИВНЫМ ПРИ АКТИВИЗАЦИИ ДИАЛОГА? У меня не получается.
ZSN>Я пытался через:
ZSN>

ZSN> ::OnInitDialog()

ZSN>    ::SetFocus(GetDlgItem(.. );
ZSN>


ZSN>но GetDlgItem ругается . Может быть чого не так делаю?

ZSN>

Что значит ругается?
Если ты хочешь устанавливать фокус в OnInitDialog(), необходимо возвращать FALSE.
[msdn]
The dialog box procedure should return TRUE to direct the system to set the keyboard focus to the control specified by wParam. Otherwise, it should return FALSE to prevent the system from setting the default keyboard focus.
...
An application can return FALSE only if it has set the keyboard focus to one of the controls of the dialog box.
[/msdn]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.