В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию 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 ) заканчивается неудачей. Указанием максимально необходимого размера структуры приложение может выявить и обработать сбой в самом начале всего процесса.
См. также
DeferWindowPos, EndDeferWindowPos, SetWindowPos .
BringWindowToTop
Функция BringWindowToTop помещает указанное окно в вершину Z -последовательности. Если окно является окном верхнего уровня - оно активизируется. Если окно представляет собой дочернее окно - активизируется родительское окно верхнего уровня.
BOOL BringWindowToTop (
HWND hWnd // дескриптор окна
);
Параметры
hWnd - идентифицирует окно, помещаемое в вершину Z -последовательности.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации вызовите функцию GetLastError .
Комментарии
Используйте функцию BringWindowToTop для вывода окна, частично или полностью закрытого другими окнами, на передний план.
Результат вызова этой функции похож на результат вызова SetWindowPos для изменения позиции окна в Z -последовательности, но вызов BringWindowToTop не делает указанное окно окном верхнего уровня.
Если приложение не находится на переднем плане, и необходимо сделать его приложением переднего плана, вызовите функцию SetForegroundWindow .
См. также
SetWindowPos, SetActiveWindow, SetForegroundWindow .
CascadeWindows
Функция CascadeWindows располагает каскадом (каскадирует) указанные окна или дочерние окна указанного родительского окна.
WORD WINAPI CascadeWindows (
HWND hwndParent , // дескриптор родительского окна
UINT wHow , // типы окон, которые не подвергаются каскадированию
CONST RECT * lpRect , // прямоугольник, в которым каскадируются окна
UINT cKids , // количество каскадируемых окон
const HWND FAR *lpKids // массив дескрипторов окон
);
Параметры
hwndParent - идентифицирует родительское окно. Если значение этого параметра равно NULL, используется окно рабочего стола.
wHow - определяет флаг каскадирования. Доступно единственное значение: MDITILE _ SKIPDISABLED, предотвращающее каскадирование дочерних MDI окон, не принимающих ввод пользователя ( disabled windows ).
lpRect - указатель на структуру типа SMALL _ RECT , которая определяет прямоугольную область, в экранных координатах, внутри которой каскадируются окна. Значение параметра может быть равно NULL, тогда используется клиентская область родительского окна.
cKids - определяет число элементов в массиве, заданным параметром lpKids . Значение параметра игнорируется, если значение lpKids равно нулю.
lpKids - указатель на массив дескрипторов окон, идентифицирующих каскадируемые окна. Если значение этого параметра равно NULL, каскадируются дочерние окна указанного родительского окна (или окна рабочего стола).