Русский справочник по Win32 API
Шрифт:
);
Параметры
nNumWindows– определяет начальное количество окон, для которых необходимо хранить информацию об их положении. Функция DeferWindowPos при необходимости увеличивает размер данной структуры.
Возвращаемые значения
В случае успеха возвращается идентификатор структуры.
В случае нехватки доступных ресурсов системы
Комментарии
Структура, содержащая информацию о размере и положении для одного или более окон, является внутренней структурой 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, каскадируются дочерние окна указанного родительского окна (или окна рабочего стола).
Возвращаемые значения