Функция AdjustWindowRectEx вычисляет необходимый размер прямоугольника окна с расширенным стилем, основываясь на желаемом размере клиентского прямоугольника. Оконный прямоугольник может быть передан в функцию CreateWindowEx для создания окна, чья клиентская область имеет желаемый размер.
BOOL AdjustWindowRectEx (
LPRECT lpRect , // указатель на структуру с координатами
// клиентской области
DWORD dwStyle , // стили окна
BOOL bMenu , // флаг наличия меню
DWORD dwExStyle // расширенный стиль
);
Параметры
lpRect - указатель на структуру типа RECT , которая содержит координаты верхнего левого и нижнего правого углов клиентской области. После выполнения функции эта структура содержит координаты верхнего левого и нижнего правого углов окна, имеющего клиентскую область желаемого размера.
dwStyle - определяет стили окна, размер которого вычисляется.
bMenu - определяет наличие меню у окна.
dwExStyle - определяет расширенный стиль окна, размер которого вычисляется.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Клиентский прямоугольник - это наименьший прямоугольник, который полностью содержит в себе клиентскую область окна. Оконный прямоугольник - это наименьший прямоугольник, который полностью содержит в себе само окно.
Функция AdjustWindowRectEx не добавляет дополнительного пространства, когда строка меню сворачивается в два или более рядов.
См . также
AdjustWindowRect, CreateWindowEx, RECT .
Функция ArrangeIconicWindows упорядочивает все минимизированные (в виде иконок) окна указанного родительского окна.
UINT ArrangeIconicWindows (
HWND hWnd // дескриптор родительского окна
);
Параметры
hWnd - идентифицирует родительское окно.
Возвращаемые значения
В случае успеха возвращается высота одного ряда иконок.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Приложение, которое работает со своими минимизированными дочерними окнами, может использовать функцию ArrangeIconicWindows для упорядочивания иконок окон в родительском окне. Функция также может упорядочивать иконки окон на рабочем столе. Для получения дескриптора рабочего стола используйте функцию GetDesktopWindow .
Приложение отправляет сообщение WM _ MDIICONARRANGE MDI -окну для упорядочивания его минимизированных дочерних MDI -окон.
См. также
CloseWindow, GetDesktopWindow .
Функция BeginDeferWindowPos выделяет память для структуры, содержащей информацию о размере и положении для одного или более окон, и возвращает дескриптор этой структуры.
HDWP BeginDeferWindowPos (
int nNumWindows // количество окон
);
Параметры
nNumWindows - определяет начальное количество окон, для которых необходимо хранить информацию об их положении. Функция DeferWindowPos при необходимости увеличивает размер данной структуры.
Возвращаемые значения
В случае успеха возвращается идентификатор структуры.
В случае нехватки доступных ресурсов системы для структуры возвращается NULL .
Комментарии
Структура, содержащая информацию о размере и положении для одного или более окон, является внутренней структурой Windows . Приложение не может иметь к ней прямой доступ.
Функция DeferWindowPos заполняет структуру информацией об одном или нескольких окнах, подлежащих перемещению. Функция EndDeferWindowPos принимает дескриптор структуры и репозиционирует окна в соответствии с информацией из данной структуры.
Если одно из окон, описанных в структуре, имеет установленный флаг SWP _ HIDEWINDOW или SWP _ SHOWWINDOW, то не репозиционируется ни одно из окон.
Если Windows должна увеличить размер структуры по сравнению с начальным размером, задающимся значением параметра nNumWindows , но не может выделить достаточно памяти, то вся последовательность перемещений окон ( BeginDeferWindowPos, DeferWindowPos и EndDeferWindowPos ) заканчивается неудачей. Указанием максимально необходимого размера структуры приложение может выявить и обработать сбой в самом начале всего процесса.