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

Си»    /Ioo*l^fources/chap04/04-07.txt

Рисунок 4.1.

Пример применения функции DeferWindowPos

EnableWindow                                 • Windows 98   • Windows 2000

Описание

Функция EnableWindow применяется для разрешения и запрещения окон. Эта функция чаще всего используется для запрещения элементов управления редактированием и кнопок, чтобы пользователь не мог ввести данные или активизировать кнопку.

Синтаксис

BOOL EnableWindow( HWND hwnd, BOOL ЪЕпаЫе)

Параметры

hwnd

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

b Enable

BOOL. Устанавливается в TRUE для разрешения использования окна и устанавливается в FALSE для запрещения.

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

BOOL. Если использование окна запрещено, возвращаемым значением является TRUE; в ином случае возвращаемым значением является FALSE.

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

winuser.h

См. также

SetFocus, GetFocus, SetActiveWindow

Соответствующ

ие сообщения

WM_ENABLE

Пример

В следующем примере приложение создает элемент управления редактированием в качестве дочернего окна главного окна приложения. При выборе опции меню Test! элементу управления редактированием будет запрещено воспринимать ввод с клавиатуры. Элемент управления редактированием можно разрешить, вызвав функцию EnableWindow с параметром ЬЕпаЫе, установленным в TRUE. ;

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

EndDeferWindowPos                         • Windows 98   • Windows 2000

Описание

Функция EndDeferWindowPos является третьей и последней функцией в ряду функций BeginDeferWindowPos, DeferWindowPos и EndDeferWindowPos.

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

Синтаксис

BOOL EndDeferWindowPos( HDWP hdwp )

Параметры

hdwp

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

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

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

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

winuser.h

См. также

BeginDeferWindowPos, DeferWindowPos, MoveWindow

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

WM_MOVE, WM_SIZE

Пример

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

EnumChildWindows                           • Windows 98   «• Windows 2000

Описание

Функция EnumChildWindows отправляет функции обратного вызова дескрипторы дочерних окон, принадлежащих родительскому окну. Выполнение функции EnumChildWindows продолжается до тех пор, пока не будут обработаны все дочерние окна или пока функция обратного вызова не вернет значение FALSE.

Функция EnumChildWindows может применяться для последовательной обработки всех дочерних окон, если не известно количество дочерних окон.

Синтаксис

BOOL EnumChildWindows( HWND hwndParent, WNDENUMPROC wndenmprc, LPARAM IParam )

Параметры

hwndParent

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

wndenmprc

WNDENUMPROC. Указатель на функцию обратного вызова, определенную в приложении.

IParam           ,

LPARAM. 32-разрядное значение, которое должно быть отправлено в функцию обратного вызова для каждого дочернего окна. См. приведенное ниже описание функции обратного вызова.

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

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

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

winuser.h

См. также

EnumProps, EnumPropsEx, EnumThreadWindows, EnumWindows

Синтаксис обратного вызова

BOOL CALLBACK EnumChildProcf HWND hwnd, LPARAM IParam )

Параметры обратного вызова

hwnd

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

IParam

LPARAM. 32-разрядное значение, которое было передано в параметр IParam функции EnumChildWindows.

Пример

В следующем примере (рис. 4.2) функция EnumChildWindows применяется . для изменения текста элементов управления редактированием, созданных в приложении. Строка, которая должна быть установлена в качестве текста элемента управления редактированием, передается в виде параметра IParam функции EnumChildProc. Имя класса каждого дескриптора окна, передаваемого функции EnumChildProc, проверяется с целью изменения только элементов управления редактированием.