![]() |
|
|
![]()
|
|
| mrgloom |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
хочу поставить фокус на CEdit в окне которое вызывается как DoModal()
использую код
падает в winocc.cpp 359
не могу понять в чем дело. |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
А чего тут непонятного? Не окно это (в текущий момент).
Где код, связывающий m_profile_name с контролом в диалоге? Обычно это делается в DoDataExchange через DDX_Control. А Do DataExchange вызывается из базового OnInitDialog, который ты зачем-то простил. -------------------- ... |
|||
|
||||
| mrgloom |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
заметил что и когда GetWindowTextA от переменной CEdit
происходит ошибка
похоже дело в самом CEdit? только непонятно в чём всёравно. т.к. в самом коде он определен как
и больше нигде не встречается Это сообщение отредактировал(а) mrgloom - 3.12.2012, 11:07 |
||||||||
|
|||||||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
-------------------- ... |
|||
|
||||
| mrgloom |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
я сначала подумал "постил", а потом понял "пропустил". да нужно
кстати давно назревал вопрос когда это нужно и когда нет? т.е. использовать какой то код от родителя руками и почему он не вызывается сам? опять же почему тут нужен OnOK() и почему не CDialog::OnOK()?
|
||||||
|
|||||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
1) Вызывать базовый OnInitDialog из своего переопределенного нужно всегда. Причем ДО обращения к связанным контролам.
Само вообще никогда ничего не делается. Либо ты делаешь, либо кто-то другой за тебя. 2) Возвращать TRUE или FALSE - ты, видимо, знаешь, когда: если фокус выставляешь сам, то возвращай FALSE 3) CDialog::OnOk и просто OnOk теоретически разные ф-и (унаследованная и переопределенная в твоем классе). Так что какую вызывать - зависит от ситуации. Если в своем классе не переопределяешь - не важно, будет одно и то же. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |