htmlayout::dialog без родителя
От: Voivoid Россия  
Дата: 15.12.11 20:51
Оценка: 20 (1)
В случае если имеется
htmlayout::dialog dlg( NULL );
то в
dialog::do_modal_loop
получаем следующую картину:
...
HWND frm = GetAncestor(hwnd,GA_ROOTOWNER);
EnableWindow(frm,FALSE);
...

так как frm будет равно hwnd, получается, что дизаблится собственное окно.

Наверное надо бы поправить
Re: htmlayout::dialog без родителя
От: kang  
Дата: 13.07.12 11:43
Оценка:
Здравствуйте, Voivoid, Вы писали:

V>В случае если имеется

V>
htmlayout::dialog dlg( NULL );
то в
dialog::do_modal_loop
получаем следующую картину:

V>
...
V>HWND frm = GetAncestor(hwnd,GA_ROOTOWNER);
V>EnableWindow(frm,FALSE);
V>...

V>так как frm будет равно hwnd, получается, что дизаблится собственное окно.

V>Наверное надо бы поправить


Заодно было бы неплохо поддержать ситуацию, когда в качестве OWNER-а диалога указывается другой модальный диалог.
Использование GA_ROOTOWNER сейчас приводит к тому, что оба диалога становятся модальными по отношению только к основному окну приложения.
Re: htmlayout::dialog без родителя
От: c-smile Канада http://terrainformatica.com
Дата: 19.07.12 03:24
Оценка:
Здравствуйте, Voivoid, Вы писали:

V>В случае если имеется

V>
htmlayout::dialog dlg( NULL );
то в
dialog::do_modal_loop
получаем следующую картину:

V>
...
V>HWND frm = GetAncestor(hwnd,GA_ROOTOWNER);
V>EnableWindow(frm,FALSE);
V>...

V>так как frm будет равно hwnd, получается, что дизаблится собственное окно.

А для чего нужен диалог у которого parent NULL?
Re[2]: htmlayout::dialog без родителя
От: __SPIRIT__ Россия  
Дата: 21.09.12 17:26
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>А для чего нужен диалог у которого parent NULL?


Например когда hWnd родителя неизвестен в коде. Натыкались на проблему с NULL летом, пришлось прокинуть hWnd в контроллер из вьюшки специально для создания дочерних диалогов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.