Русский справочник по Win32 API - страница 6

Шрифт
Интервал

стр.


Функция AdjustWindowRectEx вычисляет необходимый размер прямоугольника окна с расширенным стилем, основываясь на желаемом размере клиентского прямоугольника. Оконный прямоугольник может быть передан в функцию CreateWindowEx для создания окна, чья клиентская область имеет желаемый размер.


BOOL AdjustWindowRectEx (


LPRECT lpRect , // указатель на структуру с координатами

// клиентской области

DWORD dwStyle , // стили окна

BOOL bMenu , // флаг наличия меню

DWORD dwExStyle // расширенный стиль

);


Параметры


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

dwStyle - определяет стили окна, размер которого вычисляется.

bMenu - определяет наличие меню у окна.

dwExStyle - определяет расширенный стиль окна, размер которого вычисляется.


Возвращаемые значения


В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .


Комментарии


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

Функция AdjustWindowRectEx не добавляет дополнительного пространства, когда строка меню сворачивается в два или более рядов.


См . также


AdjustWindowRect, CreateWindowEx, RECT .



ArrangeIconicWindows


Функция ArrangeIconicWindows упорядочивает все минимизированные (в виде иконок) окна указанного родительского окна.


UINT ArrangeIconicWindows (


HWND hWnd // дескриптор родительского окна

);


Параметры


hWnd - идентифицирует родительское окно.


Возвращаемые значения


В случае успеха возвращается высота одного ряда иконок.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .


Комментарии


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

Приложение отправляет сообщение WM _ MDIICONARRANGE MDI -окну для упорядочивания его минимизированных дочерних MDI -окон.


См. также


CloseWindow, GetDesktopWindow .


BeginDeferWindowPos


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


HDWP BeginDeferWindowPos (


int nNumWindows // количество окон

);


Параметры


nNumWindows - определяет начальное количество окон, для которых необходимо хранить информацию об их положении. Функция DeferWindowPos при необходимости увеличивает размер данной структуры.


Возвращаемые значения


В случае успеха возвращается идентификатор структуры.

В случае нехватки доступных ресурсов системы для структуры возвращается NULL .


Комментарии


Структура, содержащая информацию о размере и положении для одного или более окон, является внутренней структурой Windows . Приложение не может иметь к ней прямой доступ.

Функция DeferWindowPos заполняет структуру информацией об одном или нескольких окнах, подлежащих перемещению. Функция EndDeferWindowPos принимает дескриптор структуры и репозиционирует окна в соответствии с информацией из данной структуры.

Если одно из окон, описанных в структуре, имеет установленный флаг SWP _ HIDEWINDOW или SWP _ SHOWWINDOW, то не репозиционируется ни одно из окон.

Если Windows должна увеличить размер структуры по сравнению с начальным размером, задающимся значением параметра nNumWindows , но не может выделить достаточно памяти, то вся последовательность перемещений окон ( BeginDeferWindowPos, DeferWindowPos и EndDeferWindowPos ) заканчивается неудачей. Указанием максимально необходимого размера структуры приложение может выявить и обработать сбой в самом начале всего процесса.


стр.

Похожие книги