Функции поддержки окон. Данные класса окна., страница 2

Описание функций поддержки окон

В табл. 4.1 даны общие сведения о функциях поддержки окон. За таблицей следуют подробные описания функций.

Таблица 4. 1. Общиесведенияофункциях поддержкиокон

Функция

Назначение

AdjustWindowRect

Вычисляет размеры прямоугольного окна, способного вместить клиентскую область заданного размера

AdjustWindowRectEx

Вычисляет размеры окна с расширенным стилем и заданным размером клиентской области

AltowSetForegroundWindow

Разрешает процессу установить окно переднего плана с использованием функции SetForegroundWindow

AnimateWindow

Производит специальные эффекты при показе и скрытии окон

BeginDeferWindowPos

Начинает быстрое перемещение окон на экране

BringWindowToTop

Активизирует окно и переносит его в верхнее положение, если оно находится позади каких-либо других окон

ChildWindowFromPoint

Определяет дочернее окно родительского окна из данной точки

ChildWindowFromPointEx

Определяет дочернее окно родительского окна из данной точки, имея возможность игнорировать невидимые, запрещенные или прозрачные дочерние окна

Close Window

Сворачивает окно

DeferWindowPos

Перемещает окно с использованием быстрого процесса перемещения

EnableWindow

Разрешает или запрещает окну принимать ввод от мыши и клавиатуры

EndDeferWindowPos

Завершает быстрое перемещение окон на экране

EnumChildWindows

Вызывает функцию перечисления для дочерних окон родительского окна

EnumProps

Вызывает функцию перечисления для свойств в списке свойств окна

EnumPropsEx

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

EnumThreadWindows

Вызывает функцию перечисления для окон, связанных с нитью

Enum Windows

Вызывает функцию перечисления для окон верхнего уровня, работающих в системе

FindWindow

Находит окно верхнего уровня и выбирает дескриптор окна

FindWindowEx

Находит окно по имени окна и имени класса

Flash Window

Периодически высвечивает полосу заголовка окна или заставляет мерцать пиктограмму окна, если оно свернуто

Flash WindowEx

Расширенная версия FlashWindow

GetActiveWindow

Выбирает дескриптор окна, принадлежащий окну, которое является в настоящее время активным

GetAltTablnfo

Выбирает информацию для окна переключения между приложениями (Alt+Tab)

GetAncestor

Выбирает окно предка окна

GetClasslnfo

Выбирает информацию о классе окна

GetClasslnfoEx

Выбирает расширенную информацию о классе окна

Функция

Назначение

GetClassLong

Выбирает длинное значение из структуры класса окна      , •

GetClassLongPtr

Выбирает значение указателя из структуры класса окна

GetClassName

Выбирает имя класса для окна

GetClassWord

Выбирает значение слова из структуры класса окна

GetClientRect

Выбирает размер клиентской области окна

GefDesktopWindow

Выбирает дескриптор окна рабочего стола

GetFocus

Выбирает дескриптор окна для окна, которое имеет фокус ввода

GetForegroundWindow

Выбирает дескриптор для окна, с которым в настоящее время работает пользователь

GetLastActivePopup

Выбирает дескриптор для всплывающего окна, которое было активно последним

GetNextWindow

Находит следующие родительские или дочерние окна

GetParent

Выбирает дескриптор родительского окна дочернего окна

GetProp

Выбирает элемент данных свойств, связанный с окном

GetTffleBarlnfo

Выбирает информацию об области заголовка окна

GetTopWindow

Определяет дочернее окно, которое находится над другими дочерними окнами

GetWindow

Выбирает дескриптор окна

GetWindowlnfo

Выбирает информацию об окне

GetWindowLong

Выбирает длинное значение из данных окна

GetWindowLongPtr

Выбирает значение указателя из данных окна

GetWindowModuleFileName

Выбирает полный путь и имя файла модуля, связанного с окном

GetWindowPlacement

Выбирает информацию о позиции окна

GetWindowRed

Выбирает информацию о размерах окна

GetWindowTexf

Выбирает строку заголовка окна

GetWindowTextLength

Выбирает длину строки заголовка окна

GetWindowThreadProcessId

Выбирает идентификатор нити, которая создала окно

GetWindowWord

Выбирает значение слова из дополнительных данных окна

IsChild

Определяет, является ли окно дочерним по отношению к данному родительскому окну

klconic

Проверяет, свернуто ли окно

IsWindow

Проверяет, указывает ли дескриптор на допустимое окно

IsWindowEnabled

Проверяет, разрешено или запрещено окно

IsWindowUnicode

Проверяет, имеется ли в окне встроенная поддержка Unicode

IsWindowVisible

Проверяет, было ли окно сделано видимым

IsZoomed

Проверяет, развернуто ли окно

LockSetForegroundWindow

Запрещает вызов функции SefForegroundWindow

n             »*«•          ПM.                                                               f-1

Функиия

Назначение

MoveWindow

Перемещает и изменяет размеры окна

Openlcon

Восстанавливает свернутое окно к его предыдущим размерам и позиции

RealChildWindowFromPoint

Выбирает дочернее окно из указанной точки

RealGetWindowClass

Выбирает строку, которая указывает тип окна

RemoveProp

Удаляет элемент данных свойств, связанный с окном

SetActiveWindow

Делает окно активным

SetClassLongPtr

Изменяет одно из значений указателя класса окна

SetClassWord

Изменяет значение слова в дополнительных данных класса окна

SetFocus

Придает окну фокус ввода

SetForegroundWindow

Делает окно окном переднего плана

SefParent

Изменяет родительское окно дочернего окна

SetProp

Связывает элемент данных свойств с окном

SetWindowLongPtr

Изменяет значение указателя, связанное с окном

SetWindowPlacement

Изменяет расположение окна

SetWindowPos

Изменяет одновременно размеры, позицию и расположение окна относительно других окон

SetWindowText

Изменяет заголовок окна

SetWindowWord

Изменяет значение слова, связанного с окном

ShowOwnedPopups

Показывает или скрывает все всплывающие окна, связанные с родительским окном

ShowWmdow

Отображает, скрывает или изменяет состояние показа окон

ShowWindowAsync

Отображает, скрывает или изменяет состояние показа окон, созданных другими нитями

UpdateLayeredWindow

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

WindowFromPoint

Находит окно, которое располагается в данной точке на экране

AdjustWindowRect                           • Windows 98   • Windows 2000

Описание

Функция AdjustWindowRect рассчитывает размеры ограничительного прямоугольника, исходя из размеров клиентской области, заданных параметром IpRect. Размеры ограничительного прямоугольника определяются с учетом размеров рамки, полосы заголовка, строки меню и клиентской области. Как правило, функция AdjustWindowRect используется с функцией CreateWindow для создания окна с известным размером клиентской области.

Синтаксис

BOOL AdjustWindowRect( LPRECT IpRect, DWORD dwStyle, BOOL bMenu )

Параметры IpRect

LPRECT. Указатель на структуру RECT, содержащую координаты клиентской области для окна, которое должно быть создано. Координаты будут гугкпппр.к'типгтяны с. vwp.tom пячмр.ппи окня

dwStyle

DWORD. Стили окна, которые будут использоваться для создания окна. Перечень доступных стилей окна приведен в табл. 3.4 главы 3.

ЬМепи

BOOL. Устанавливается в TRUE, если прямоугольник должен включать пространство для меню; в ином случае устанавливается в FALSE.

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

BOOL. TRUE, если функция была выполнена успешно, и FALSE в противном случае.

Включаемый файл

winuser.h

См. также

CreateWindow, AdjustWindowRectEx

Пример

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

См.    /local-sources/chapOt/04-01. txt

AdjustWindowRectEx                         • Windows 98   • Windows 2000

Описание

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

Синтаксис

BOOL AdjustWindowRectEx( LPRECT  IpRect, DWORD   dwStyle, BOOL ЬМепи, DWORD dwExStyle )

Параметры

IpRect

LPRECT. Указатель на структуру RECT, содержащую координаты клиентской области создаваемого окна. Координаты будут откорректированы с учетом размеров окна.

dwStyle

DWORD. Стили, которые будут использоваться для создания окна. Перечень доступных стилей окна приведен в табл. 3.4 главы 3.

ЬМепи

BOOL. Устанавливается в TRUE, если прямоугольник должен включать пространство для меню; в ином случае устанавливается в FALSE.

dwExStyle

DWORD. Расширенный стиль, который будет использоваться для создания окна. Перечень доступных расширенных стилей окна приведен в табл. 3.4 главы 3.

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

BOOL. TRUE, если функция была выполнена успешно, и FALSE в противном случае.

Включаемый файл

winuser.h

См. также

CreateWindowEx, AdjustWindowRect

Пример

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

См.    /local -sources/chap04/04-02. txt

AllowSetForegroundWindow             • Windows 98   • Windows 2000

Описание

Эта функция позволяет указанному процессу установить окно переднего процесс к этому времени уже должен быть способен установить окно переднего плана.

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

*   процесс является процессом переднего плана; 4   процесс был запущен процессом переднего плана; Ф   процесс принимал последнее событие ввода; *   нет иного процесса переднего плана; *   происходит отладка процесса переднего плана; 4   режим переднего плана не блокирован (см. функцию LockSetForegroundWindow) ;

*   истек тайм-аут блокировки режима переднего плана (см. параметр SPI_GETFOREGROUNDLOCKTIMEOUT в описании функции SystemParametersInfo);

*   ни одно меню не является активным (только Windows 2000). Процесс, который может установить окно переднего плана, может также разрешить это сделать другому процессу, вызвав функцию AllowSetForegroundWindow. Поскольку эта функция не реализована в Windows 98, в этой системе процессы должны взаимодействовать между собой, чтобы иметь возможность управлять окном переднего плана.

Синтаксис

BOOL AllowSetForegroundWindow( DWORD dwProcessId )

Параметры

dwProcessId

DWORD. Идентификатор процесса, которому должно быть разрешено установить окно переднего плана. Если в качестве этого параметра применяется значение ASFW_ANY, всем процессам будет разрешено установить окно переднего плана.

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

BOOL. Если функция выполнена успешно, возвращаемое значение отлично от нуля; в ином случае возвращаемое значение равно нулю. Функция не будет выполнена, если вызывающий процесс не может установить окно переднего плана. Для выборки расширенной информации об ошибках применяется функция GetLastError.

Включаемый файл

winuser.h

См. также

SetForegroundWindow

AnimateWindow                              • Windows 98   •  Windows 2000

Описание

Функция AnimateWindow создает специальные эффекты при показе или скрытии окон. Эта функция позволяет создавать специальные эффекты трех типов: смена изображения, смена слайдов и переход с альфа-микшированием.

Можно объединять флажки AW_HOR_POSITIVE или AW_HOR_NEGATIVE с AW_VER_POSITIVE или AW_VER_NEGATIVE

Синтаксис

BOOLAnimateWindow( HWND hWhd, DWORD dwTime, DWORD dwFlags)

Параметры

hWnd

HWND. Дескриптор окна, в котором выполняется анимация. Это окно должно принадлежать вызывающей нити.

dwTime

DWORD. Время в миллисекундах, которое требуется для воспроизведения анимации. Как правило, для воспроизведения анимации требуется 200 миллисекунд.

dwFlags

DWORD. Тип воспроизводимой анимации. Он может представлять собой одно или несколько значений, перечисленных в табл. 4.2

Таблице 4.Я. ФлажкиAnimateWindow

Флажок

Описание

AW_SLIDE

Использовать слайдовую анимацию. По умолчанию используется анимация со сменой изображения при прохождении курсора. Этот флажок игнорируется при использовании с  AW_CENTER.

AW_ACTIVATE

Активизировать окно. Не используется с AW_HIDE.

AW_BLEND

Использовать эффект перехода. Этот флажок может применяться, только если hWndокно верхнего уровня.

AW_HIDE

Скрыть окно. По умолчанию окно показано.

AW_CENTER

Окно свертывается внутрь, если применяется флажок  AW   HIDE; в ином случае окно развертывается наружу.

AW_HOR_POSITIVE

Выполнить анимацию окна слева направо. Этот флажок игнорируется при использовании с AW_CENTER или AW_BLEND.

AW_HOR_NEGATIVE

Выполнить анимацию окна справа налево. Этот флажок игнорируется при использовании с AW_CENTER или AW_BLEND.

AW_VER_POSITIVE

Выполнить анимацию окна сверху вниз. Этот флажок игнорируется при использовании с AW_CENTER или AW_BLEND.

AW_VER_NEGATIVE

Выполнить анимацию окна снизу вверх. Этот флажок игнорируется при использовании с  AW_CENTER или AW_BLEND.

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

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

Включаемый файл

winuser.h

BeginDeferWindowPos                      • Windows 98   • Windows 2000

Описание

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

Эта функция позволяет быстро перемещать окна, затрачивая минимальное время на обновление внешнего вида экоана. Она очень полезна, когда нужно одновременно откорректировать положение большого числа окон. Если в каком-либо из окон установлен флажок SWP_HIDEWINDOW или SWP_SHOWWINDOW, положение окон не меняется.

Синтаксис

HDWP BeginDeferWindowPos( int n Windows )

Параметры

пWindows

int. Начальное число окон, для которого распределена информация в структуре с описанием позиций. Функция DeferWindowPos увеличивает размер этой структуры в случае необходимости.

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

HDWP. Если функция выполняется успешно, возвращаемым значением является дескриптор структуры с описанием позиций нескольких окон, которая применялась в вызовах функций DeferWindowPos и EndDefer-WindowPos. В случае неудачного выполнения возвращаемым значением является NULL.

Включаемый файл

winuser.h

См. также

DeferWindowPos, EndDeferWindowPos, Move Window

Соответствующие сообщения

WM_MOVE, WM_SIZE

Пример

См. пример для функции DeferWindowPos.

BringWindowToTop                          • Windows 98   • Windows 2000

Описание

Функция BringWindowToTop переводит окно в верхнее положение и накладывает его на другие перекрываемые окна на экране. Окно активизируется, если это всплывающее окно или окно верхнего уровня. Функция   BringWindowToTop чаще всего применяется для размещения всплывающих окон перед всеми остальными окнами и их активизации для ввода данных пользователем.

Синтаксис

BOOL BringWindowToTop( HWND hwnd )

Параметры

hwnd

HWND. Дескриптор окна, которое должно быть переведено в верхнее положение.

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

BOOL. TRUE, если функция была выполнена успешно, и FALSE в противном случае.

Включаемый файл

winuser.h

См. также

SetFocus, IsWindowVisible, SetActiveWindow, SetForegroundWindow, EnableWindow

Соответствующие сообщения

WM_SETFOCUS, WM_ENABLE

Пример

В следующем примере показана функция WndProc приложения, которая создает два перекрывающихся элемента управления редактированием. При выборе опции меню Test! второй элемент управления редактированием перемещается в верхнюю позицию окна.

См.    /Iocal-mources/chap04/04-03 . txt

ChildWindowFromPoint                        * Windows 98   * Windows 2000

Описание

Функция ChildWindowFromPoint возвращает дескриптор дочернего окна, которое содержит заданную точку относительно клиентской области родительского окна. Эта функция чаще всего применяется для обработки сообщений \VM_MOUSEMOVE, \VM_LBUTTONDOWN и \VM_RBUTTONDOWN и для определения окна, над которым находился курсор мыши при возникновении сообщений.

Синтаксис

HWND ChildWindowFromPoint( HWND hwndParent, POINT pt )

Параметры

hwndParent

HWND. Дескриптор родительского окна.

Pt

POINT. Структура POINT, содержащая клиентские координаты точки, которая должна быть проверена.

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

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

Включаемый файл

winuser.h

См. также

ChildWindowFromPointEx, WindowFrom Point

Соответствующие сообщения

WMJVTOUSEMOVE, WM_LBUTTONDOWN, WM_RBUTTONDOWN

Пример

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

См.    /local -sources/chap04/04-04. txt

ChildWindowFromPointEx                  • Windows 98   • Windows 2000

Описание

Эта функция аналогична функции ChildWindowFromPoint, за исключением того, что при определении дочернего окна можно пропустить запрещенные, прозрачные и невидимые дочерние окна.

Синтаксис

HWND ChildWindowFromPointEx( HWND hwndParent, POINT pt, UINT uFlags )

Параметры

hwndParent

HWND. Дескриптор родительского окнг

Pt

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

ufJags

UINT. Определяет, какие дочерние окна должны быть пропущены. Параметр может представлять собой сочетание значений, перечисленных в табл. 4.3, которые объединены с помощью двоичного оператора OR (|).

Таблица 4.3. ФлажкиChildWindowFromPointEx

Значение

Описание

CWP_ALL

Рассмотреть все дочерние окна.

CWP_SKIPDISABLED

Пропустить запрещенные дочерние окна.

CWP_SKIPINVISIBLE

Пропустить невидимые дочерние окна.

CWP_SKIPTRANSPARENT

Пропустить прозрачные дочерние окна.

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

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

Включаемый файл

winuser.h

См. также

ChildWindowFromPoint, WindowFromPoint

Пример

В следующем фрагменте кода показано, как изменить пример, приведенный для функции ChildWindowFromPoint, и применить функцию ChildWindowFromPointEx, которая позволяет игнорировать запрещенные элементы управления при проверке того, где произошел щелчок мыши.

См.    /Iocal-sources/chap04/04-05.txt

CloseWindow                                    • Windows 98   • Windows 2000

Описание

Функция CloseWindow свертывает указанное окно и отображает пиктограмму окна, которая была зарегистрирована с классом окна. Если класс окна не имеет пиктограммы, отображается пустая клиентская область, и окно получает сообщение WM_PAINT, чтобы иметь возможность вывести пиктограмму. Для свертывания всего приложения или дочернего окна, такого как окно MDI (multiple-document interface — многодокументный интерфейс), можно использовать главное окно приложения.

Синтаксис

BOOL CloseWindow( HWND hwnd )

Параметры

hwnd

HWND. Идентифицирует свертываемое окно.

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

BOOL. TRUE, если функция была выполнена успешно, и FALSE в противном случае.

Включаемый файл

winuser.h

См. также

Islconic, IsWindowVisible, IsZoomed

Соответствующие сообщения

WM_SIZE, WM_PAINT

Пример

В следующем примере функция CloseWindow сворачивает приложение при выборе опции меню Test!.

См.    /local -sources/chap04/04-06. txt

DeferWindowPos                                • Windows 98   • Windows 2000

Описание

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

Синтаксис

HDWP DeferWindowPos( HDWP hdwp, HWND hwnd, HWND kwndlnsertAfter, int jc, int y, int ex, int cy, UINT dwFlags )

Параметры

hdwp

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

hwnd

HWND. Дескриптор перемещаемого окна.

hwndlnsertAfter

HWND. Дескриптор окна, которое предшествует данному окну в структуре hwnd. Вместо дескриптора окна можно использовать одно из значений, перечисленных в табл. 4.4. Этот параметр игнорируется, если в параметре dwFlagsустановлено значение SWP_NOZORDER.

Таблица 4.4. ЗначенияпараметраhwndlnsertAfter функцииDeferWindowPos

Значение

Описание

HWND_BOTTOM

Переместить окно в нижнее положение в стеке дочерних окон.

HWND_NOTOPMOST

Переместить окно в положение ниже всех окон переднего плана. Это положение находится над всеми окнами, отличными от окон переднего плана.

HWNDJTOP

Переместить окно в верхнее положение в стеке дочерних окон.

HWND_TOPMOST

Переместить окно в положение выше всех окон переднего плана. Если это окно станет не активным, оно все равно сохранит самое верхнее положение.

Таблица 4.5. ЗначенияпараметраdwFlags функцииDeferWindowPos

Значение

Описание

SWP_DRAWFRAME

Выводить вокруг окна рамку, определенную в классе окна.

SWP_FRAMECHANGED

Отправлять окну сообщение WM_NCCALCSIZE, даже если размер окна не изменился.

SWP_HIDEWINDOW

Скрыть окно.

SWP NOACTIVATE

Не активизировать окно.

К

int. Новая позиция х левого верхнего угла окна.

У

int. Новая позиция у левого верхнего угла окна.

сх

int. Новая ширина окна в пикселях.

су

int. Новая высота окна в пикселях.

dw flags

UINT. Влияет на перемещение и позиционирование окна. Этот параметр может состоять из одного или нескольких значений, перечисленных в табл. 4.5, которые объединены с помощью двоичного оператора OR (|).

Значение

Описание

SWPJ40COPYIIT5

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

SWP_NOMOVE

Игнорировать параметры жиу. Будут только изменены размеры окна.

SWPJ4OOWNERZORDER

Сохранить позицию окна владельца в z-порядке.

SWP_NOREDRAW

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

SWP_NOREPOSITION

То же, что и флажок SWP_NOOWNERZORDER .

SWP_NOSENDCHANGING

Исключить возможность получения окном сообщения WM_WINDOWPOSCHANGING.

SWP_NOSIZE

Игнорировать параметры сх и су. Окно будет только перемещено.

SWP_NOZORDER

Игнорировать параметр hwndlnsert Alter .

SWP_SHOWWINDOW

Отобразить окно.

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

HDWP. Дескриптор обновленной структуры с описанием позиций нескольких окон. Возвращаемый дескриптор может отличаться от переданного в функцию и должен применяться в последующих вызовах функции DeferWindowPos и в конечном итоге — EndDeferWindowPos. Если функция не будет выполнена успешно, возвращаемое значение — NULL.

Включаемый файл

winuser.h

См. также

BeginDeferWindowPos, EndDeferWindowPos, MoveWindow

Соответствукщие сообщения

WM_MOVE, WM_SIZE

Пример

В следующем примере (рис. 4.1) показана часть функции WndProc для приложения, которое создает статический текстовый элемент управления и элемент управления редактированием в качестве дочерних окон главного окна. Затем при изменении размеров главного окна изменяются размеры этих элементов управления с помощью функций BeginDeferWindowPos, DeferWindowPos и EndDeferWindowPos. Ширина статического элемента управления поддерживается такой же, как ширина главного окна. Ширина и высота элемента управления редактированием изменяются в соответствии с шириной и высотой главного окна за вычетом высоты статического элемента управления.