KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Тарас Сорока - Русский справочник по Win32 API

Тарас Сорока - Русский справочник по Win32 API

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Тарас Сорока, "Русский справочник по Win32 API" бесплатно, без регистрации.
Перейти на страницу:

См . также


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, каскадируются дочерние окна указанного родительского окна (или окна рабочего стола).


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


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

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


См. также


SMALL_RECT .


ChildWindowFromPoint


Функция ChildWindowFromPoint определяет, какое из дочерних окон, принадлежащих родительскому окну, содержит указанную точку (если таки дочерние окна существуют).


HWND ChildWindowFromPoint (


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

POINT Point // структура с координатами точки

);


Параметры


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

Point - определяет структуру типа POINT , которая содержит клиентские координаты проверяемой точки.


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


В случае успеха возвращается дескриптор дочернего окна, которое содержит точку, даже если это дочернее окно скрыто или не принимает фокус ввода ( disabled ). Если точка лежит вне родительского окна, возвращается NULL . Если точка находится внутри родительского окна, но не лежит ни в одном из дочерних окон, возвращается дескриптор родительского окна.


Комментарии


Windows ведет внутренний список, содержащий дескрипторы дочерних окон, связанных с родительским окном. Порядок дескрипторов в этом списке зависит от Z -последовательности дочерних окон. Если указанная точка содержится более чем в одном дочернем окне, Windows возвращает дескриптор первого окна в списке, содержащего точку.


См. также


ChildWindowFromPointEx, POINT, WindowFromPoint .


ChildWindowFromPointEx


Функция ChildWindowFromPointEx определяет, какое из дочерних окон, принадлежащих родительскому окну, содержит указанную точку (если таки дочерние окна существуют). Функция может игнорировать невидимые, не принимающие фокус ввода ( disabled ) и прозрачные дочерние окна.


HWND ChildWindowFromPointEx (


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

POINT pt , // структура с координатами точки

UINT uFlags // флаги игнорирования

);


Параметры


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

Point - определяет структуру типа POINT , которая содержит клиентские координаты проверяемой точки.

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


Значение

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*