Шаг 93 - CWnd::CreateEx

BOOL CreateEx(
	DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, 
	DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, 
	HMENU nIDorHMenu, LPVOID lpParam = NULL 
);
BOOL CreateEx(
	DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, 
	DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, 
	UINT nID, LPVOID lpParam = NULL
);

Возвращаемое значение
Отличный от нуля, если успешно, иначе 0.

Параметры dwExStyle
Определяет расширенный стиль создаваемого CWnd. Примените любой из расширенных стилей окна к окну.
lpszClassName
Указатель на символьную строку с нулевым символом в конце и именем класса Windows (структура WNDCLASS). Имя класса может быть любое имя, зарегистрированное с глобальной функцией AfxRegisterWndClass или любым из предопределенных имен классов. Оно не должно быть NULL.
lpszWindowName
Указатель на символьную строку с нулевым символом в конце, которая содержит имя окна.
dwStyle
Определяет атрибуты стиля окна. См. Стили Окна, и CWnd::Create для описания возможных значений.
x
Определяет начальную x-позицию CWnd окна.
y
Определяет начальную верхнею позицию CWnd окна.
nWidth Определяет ширину (в единицах устройства)CWnd окна.
nHeight Определяет высоту (в единицах устройства) CWnd окна.
hwndParent
Идентифицирует родителя или окно владельца CWnd создаваемого окна. Используйте NULL для верхнего уровня окон.
hIDorHMenu Идентифицирует меню или идентификатор дочернего окна. Значение зависит от стиля окна.
lpParam
Указатель на данные lpCreateParams полем структуры CREATESTRUCT.
rect
Размер и позиция окна, в клиентских координатах pParentWnd.
pParentWnd
Родительское окно.
nID
ID дочернего окна.

Замечания
Создает перекрывающее, всплывающее или дочернее окно с расширенным стилем, определенным в dwExStyle
Параметры CreateEx определяют WNDCLASS, заголовок окна, стиль окна, и необязательная начальная позиция и размер окна. CreateEx также определяет родителя окна и ID.
Когда CreateEx выполняется, Windows посылает WM_GETMINMAXINFO, WM_NCCREATE, WM_NCCALCSIZE, и WM_CREATE сообщения к окну.
Чтобы расширять заданную по умолчанию обработку сообщения, получите класс из CWnd, добавьте карту сообщения к новому классу, и обеспечьте методы для вышеупомянутых сообщений. Отмените OnCreate, например, что бы выполнять необходимую инициализацию для нового класса.

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

Если WS_VISIBLE стиль дан, Windows посылает окну все сообщения, требуемые, чтобы активизировать и показать окно. Если стиль окна определяет название окна, заголовок окна, указанный на lpszWindowName параметром отображается в названии окна. dwStyle параметр может быть любая комбинация стилей окна.

Пример

void CMyDlg::OnCreateExtendedCtrl() 
{
	CWnd* pWnd = new CStatic;
	pWnd->CreateEx(WS_EX_CLIENTEDGE, 
		_T("STATIC"), "Hi",
		WS_CHILD | WS_TABSTOP | WS_VISIBLE,
		5, 5, 30, 30, m_hWnd, (HMENU)1234);
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 22.12.2001