Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО / Лекции / КурсЛекций.doc
Скачиваний:
93
Добавлен:
23.02.2015
Размер:
8.22 Mб
Скачать

Расположение, размер и позиция в z-порядке

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

Идентификатор дочернего окна или дескриптор меню

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

Каждое окно, кроме дочернего, может иметь меню. Приложение получает меню, если предоставляет Windows дескриптор меню или при регистрации класса окна, или при создании окна.

Дескриптор копии приложения

С каждым приложением Win32 связан дескриптор копии приложения (instance handle). Windows предоставляет дескриптор копии приложению, когда оно запускается. Поскольку могут быть запущены несколько копий одного приложения, Windows использует дескрипторы копии приложения внутренне, чтобы отличать одну копию от другой.

Дополнительные данные

Каждое окно может иметь связанные с ним дополнительные данные. При создании окна Windows передает указатель на дополнительные данные функции окна. Функция окна использует эти данные, чтобы инициализировать определяемые приложением переменные.

Дескрипторы окна

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

В Win32 API есть несколько специальных констант, которые могут заменять дескриптор окна в некоторых функциях. Например, приложение может использовать константу HWND_TOPMOST в функции SendMessageTimeout(), HWND_BROADCAST в функцииSendMessage()или HWND_DESKTOP в функцииMapWindowPoints().

Хотя константа NULL не является дескриптором окна, Вы можете использовать ее в некоторых функциях, чтобы определить, что они не воздействуют ни на какое окно. Например, определяя NULL в качестве параметра hwndParentфункцииCreateWindowEx(), Вы создаете окно, которое не имеет родителя или владельца. Некоторые функции могут возвращать NULL вместо дескриптора, указывая, что данное действие не применяется ни к какому окну.

Приложение может использовать функцию FindWindow(), чтобы выяснить, существует ли в системе окно с указанным именем класса или именем окна. Если такое окно существует,FindWindow()возвращает дескриптор этого окна. Чтобы произвести поиск только среди дочерних окон определенного приложения, используйте функциюFindWindowEx(). ФункцияIsWindow()определяет, идентифицирует ли дескриптор действительное, существующее окно.