![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Comm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Всем добрый вечер.
Дело в том что я делаю прогу,в ней присутствует элемент "Tab control" закладки для таб контрола я создаю с помощью CreateDialogXXXXX ну и при нажатии на одной из вкладок таб контрола отображаю/скрываю контент диалогов. Всё бы ничего если бы главное окно программы не являлось модальным(созданное с помощью DialogBoxParam) я запутался ,куда вставлять IsDialogMessage требуемый для корректной обработки сообщений немодальных дочерних окон.. Ведь насколько я знаю у созданных окон DialogBoxParam свой неявный обработчик сообщений. Если кому не трудно набросайте пожалуйста скелет обработки сообщений немодальных окон в модальном =) Спасибо Всем за помощь. Это сообщение отредактировал(а) Comm - 7.3.2010, 19:44 -------------------- =))))) ![]() |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
да, и можно считать, что он уже вызывает IsDialogMessage -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Comm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Действительно,спасибки +1
-------------------- =))))) ![]() |
|||
|
||||
Comm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
GremlinProg ,не подскажешь почему при вызове функции CreateDialogXXXXX если указать hWndParent хендл табконтрола а не главного окна, то при попытке нажать на какой либо элемент управления у немодального диалога программа виснет ? Насколько я понял это происходит за-за того что сообщения посылаются онкну владельцу, т.е. таб контролу ,у которого нет обработчика .. или я неправильно понял ?
Ещё один вопросик, как можно узнать координаты верхней части клиентской области таб контрола ? А то я не могу нормально отобразить контент диалогового окна,оно частично перекрывает надписи вкладок Это сообщение отредактировал(а) Comm - 9.3.2010, 04:15 -------------------- =))))) ![]() |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
виснет, значит где-то есть цикл, или рекурсия,
пробуй по очереди перекрывать обработку сообщений, которые уже написал, как найдешь - выкладывай его суть, будем решать -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Comm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Совсем забыл,программа виснет если указать DS_CONTROL в "Control styles" и WS_CHILD в "Window Styles" немдального диалогового окна ,и если указать hWndParent хендл табконтрола а не главного окна Собственно никакой обработки я пока не делал...в том то дело что даже при такой ситуации виснет
Это сообщение отредактировал(а) Comm - 9.3.2010, 18:43 -------------------- =))))) ![]() |
||||
|
|||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
я вообще не вижу таких свойств у диалога, DS_CONTROL - стиль, такой же как и WS_CHILD, указывать их можно в стилях (свойство STYLE в *.rc) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Comm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Вот нашел,там вроде такая же проблема,что делать ясно...но почему так происходит не понятно..
Ссылка Это сообщение отредактировал(а) Comm - 12.3.2010, 01:00 -------------------- =))))) ![]() |
|||
|
||||
BEOWOLF |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 24.8.2007 Репутация: 1 Всего: 2 |
Есть один небольшой совет насчёт немодальных диалогов, может пригодиться.
Вобщем, объявляете глобальные переменные (или такие к которым есть везде доступ) HWND hdlgCurrent; HACCEL haccelCurrent; затем во всех функциях диалогов, не помешает даже в модальных, написать вот такую обработку:
затем в главном цикле написать это:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |