Win32 API. Окна - Взаимоотношение Окон
ОГЛАВЛЕНИЕ
Взаимоотношение Окон
Окно может быть находящимся во владении окном, заблокированным окном, приоритет-ным или фоновым окном. Имеется несколько различных способов, которые могут окно связывать с пользователем или другим окном.
Окна находящиеся во владении
Перекрывающее или выскакивающее окно может принадлежать другому перекрывающему или выскакивающему окну. Существующий хозяин несколько ограничивается действующим окном.
- Находящееся в собственности окно всегда выше его владельца в Z-последовательности.
- Windows автоматически разрушает находящееся в собственности окно, когда его владелец разрушен.
- Находящееся в собственности окно скрыто, когда его владелец свернут.
Только перекрывающее или выскакивающее окно может быть владельцем окна; дочернее окно не может быть им. Прикладная программа создает находящееся в собственности окно, определяя дескриптор владельца окна через параметр hwndParent функции CreateWindowEx, когда она создает окно в стиле WS_OVERLAPPED или WS_POPUP. Параметр hwndParent должен идентифицировать перекрывающее или выскакивающее окно. Если hwndParent идентифицирует дочернее окно, Windows назначает монопольное использование дочернего окна родительским окном верхнего уровня. После создания находящегося в собственности окна, прикладная программа не может передать монопольное использование окна к другому окну.
Диалоговые окна и окна сообщений - по умолчанию находящиеся в собственности окна. Прикладная программа определяет владельца окна при вызове функции, которая создает диалоговое окно или окно сообщений.
Прикладная программа может использовать функцию GetWindow с флажком GW_OWNER, чтобы отыскать дескриптор владельца окна.