CWnd::PreCreateWindow
Вызывается инфраструктурой перед созданием окна Windows вложенного к данному объекту CWnd.
virtual BOOL PreCreateWindow(
CREATESTRUCT& cs
);
Параметры
- cs
Структура CREATESTRUCT.
Возвращаемое значение
Ненулевой если создание окна следует продолжить. 0 означает ошибку создания.
Заметки
Внимание |
---|
Теперь элемент CWnd::PreCreateWindow присвоит hMenu cs к указателю this если меню NULL и стиль содержит WS_CHILD.Для правильного описания функциональности, убедитесь в том, что элемент управления диалогового окна с идентификатором, не NULL. Это изменение исправляет после сбоя в управляемых и собственных сценариях взаимодействия.Оператор TRACE в CWnd::Create предупреждения разработчик проблемы. |
Никогда не эта функция вызывается напрямую.
Реализация по умолчанию проверок этой функции для имени класса и заменителей окна NULL соответствующее значение по умолчанию.Переопределите этот функцию-член, чтобы изменить структуру CREATESTRUCT до того, как окно создано.
Каждый класс, производный от CWnd добавляет собственной функции к ее преодолению переопределения PreCreateWindow.Конструкцией, не описаны эти выходы PreCreateWindow.Чтобы задать стили, соответствующие каждому классу и взаимозависимостям между стилями можно просмотреть исходный код MFC для базового класса приложения.Если выбрано переопределение PreCreateWindow,, можно определить, содержат ли стили, используемые в базовом классе приложения функциональности можно с помощью сведений собранного от исходного кода MFC.
Дополнительные сведения о изменение стилей окна см. в подразделе Изменение стилей окна, созданного MFC.
Пример
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
Требования
Header: afxwin.h