Win32 API. Окна
Страница 17. Взаимоотношение Окон



Взаимоотношение Окон

Окно может быть находящимся во владении окном, заблокированным окном, приоритет-ным или фоновым окном. Имеется несколько различных способов, которые могут окно связывать с пользователем или другим окном.

Окна находящиеся во владении

Перекрывающее или выскакивающее окно может принадлежать другому перекрывающему или выскакивающему окну. Существующий хозяин несколько ограничивается действующим окном.

  • Находящееся в собственности окно всегда выше его владельца в Z-последовательности.
  • Windows автоматически разрушает находящееся в собственности окно, когда его владелец разрушен.
  • Находящееся в собственности окно скрыто, когда его владелец свернут.

Только перекрывающее или выскакивающее окно может быть владельцем окна; дочернее окно не может быть им. Прикладная программа создает находящееся в собственности окно, определяя дескриптор владельца окна через параметр hwndParent функции CreateWindowEx, когда она создает окно в стиле WS_OVERLAPPED или WS_POPUP. Параметр hwndParent должен идентифицировать перекрывающее или выскакивающее окно. Если hwndParent идентифицирует дочернее окно, Windows назначает монопольное использование дочернего окна родительским окном верхнего уровня. После создания находящегося в собственности окна, прикладная программа не может передать монопольное использование окна к другому окну.

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

Прикладная программа может использовать функцию GetWindow с флажком GW_OWNER, чтобы отыскать дескриптор владельца окна.

 
« Предыдущая статья   Следующая статья »