Окно владелец блока диалога


Большинство блоков диалога имеют окно-владельца (или просто владельца). Когда создается диалоговое окно, приложение определяет владельца при помощи дескриптора окна-владельца. Система использует владельца, чтобы устанавливать позицию диалогового окна в Z-последовательности, так как диалоговое окно всегда позиционируется выше своего владельца. К тому же, система может отправлять сообщения оконной процедуре владельца, уведомляя его о событиях в диалоговом окне.

Система автоматически скрывает или уничтожает диалоговое окно всякий раз, когда его владелец скрывается или разрушается. Это означает, что процедура диалогового окна не требует какой-либо специальной обработки, чтобы обнаруживать изменения в состоянии окна владельца.

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

Когда немодальное диалоговое окно не имеет  владельца, система не скрывает и не уничтожает диалоговое окно, когда другие окна в приложении скрываются или разрушаются. Хотя это не отменяет предназначение немодального диалогового окна, однако требует, чтобы приложение выполнило специальную обработку, которое гарантирует, что в соответствующий момент времени диалоговое окно скрыто и уничтожено.

 

Назад в оглавление
На главную страницу

Hosted by uCoz