Как правильно использовать IsDialogMessage с 2-мя диалогами?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.109] |
|
|
Правила раздела C/C++: Системное программирование и WinAPI
FAQ Сайта (C++)
FAQ Форума
Наши Исходники
Поиск по Разделу
MSDN Library Online (Windows Driver Kit)
Google
Как правильно использовать IsDialogMessage с 2-мя диалогами?
|
Сообщ.
#1
,
|
|
|
|
Необходимо добавить обработку клавиш TAB и перемещение по контролам. Вроде бы это делается с помощью IsDialogMessage.
Один диалог вставлен в 1-й TAB Control, у которого родитель главное окно. В этот диалог вставлен 2-ой TAB Control, в который в свою очередь вставлен второй диалог. Вот такая штуковина .Каким образом в цикле обработки сообщений правильно вызывать IsDialogMessage? А то у меня работает только с одним диалогом, когда второй добавляешь виснет обработка сообщений(нажимаешь на кнопку на втором диалоге и виснет). Ни хрена не могу понять почему! ![]() ![]() while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0) { if (bRet == -1) return (int)GetLastError(); else { if (hdlg) { if (IsDialogMessage(hdlg,&msg)) { continue; } } //if (hdlg2) //{ // if (IsDialogMessage(hdlg2,&msg)) // { // continue; // } //} TranslateMessage(&msg); DispatchMessage(&msg); } } p/s/ код "раздут" специально для отладки. |
|
Сообщ.
#2
,
|
|
|
|
Назначь родителем "страничному" диалогу из TabControlа -- основной диалог
|
|
Сообщ.
#3
,
|
|
|
|
Цитата B.V. @ Назначь родителем "страничному" диалогу из TabControlа -- основной диалог Сработало! Спасибо, B.V..Но только непонятно почему если родителем диалога яляется Tab он уже нормально не работает! |
|
Сообщ.
#4
,
|
|
|
|
Ладно зарываю вопрос, всё-таки решение есть - это главное, а почему не работает мой вариант так кто ж мне тут скажет!
Ещё раз спасибо, B.V.. |