92978b58

Сообщение WM_CREATE


Как вы уже знаете, сообщение WM_CREATE передается функции окна при его создании. Параметр mp1 этого сообщения содержит значение параметра pCtlData, переданного в функцию WinCreateWindow .

В параметр mp2 при этом записывается указатель на следующую структуру:

typedef struct _CREATESTRUCT { PVOID pPresParams; // параметры отображения PVOID pCtlData; // управляющие данные ULONG id; // идентификатор окна HWND hwndInsertBehind; // окно-брат, за которым // отображается окно HWND hwndOwner; // окно-владелец LONG cy; // высота окна LONG cx; // ширина окна LONG y; // координата по оси Y LONG x; // координата по оси X ULONG flStyle; // стиль окна PSZ pszText; // заголовок окна PSZ pszClassName; // имя класса HWND hwndParent; // родительское окно } CREATESTRUCT; typedef CREATESTRUCT *PCREATESTRUCT;

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

Если эти параметры верны, обработчик может вернуть значение FALSE, что разрешает создание окна. Если же один или несколько параметров имеют неправильное знчение, функция окна может вернуть значение TRUE. Окно при этом создано не будет, а функция WinCreateWindow вернет значение NULLHANDLE.




Начало  Назад  Вперед