CWindowImpl

шаблон lt; классTклассTBase= CWindow, классTWinTraits= CControlWinTraits >
класс ATL_NO_VTABLE CWindowImpl: государственные CWindowImplBaseT <
TBase, TWinTraits

Параметры

T

Ваш класс, производный от CWindowImpl.

TBase

Базовый класс для нового класса. Базовый класс по умолчанию — CWindow.

TWinTrait

Черты класс, определяющий стили для вашего окна. Значение по умолчанию — CControlWinTraits.

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

CWindowImpl::Create создает новое окно, основанный на информации класса окна, управляемых CWndClassInfo. CWindowImpl содержит макрос DECLARE_WND_CLASS , что означает, что CWndClassInfo будет зарегистрировать нового класса окна. Если вы хотите суперкласса существующий класс окон, ваш класс, производный от CWindowImpl и включить макрос DECLARE_WND_SUPERCLASS . В этом случае CWndClassInfo будет зарегистрировать класс окна, который основан на существующем классе, но использует CWindowImpl::WindowProc. Например

класс CMyWindow: CComControllt;CMyWindow >,...
                / / CComControl является производным от CWindowImpl
{
общественности:
   // 1. Параметр NULL означает будет генерировать ATL
   / / название для суперкласса
   // 2. Параметр «Изменить» означает суперкласса
   / / на основе стандартного Windows Edit box
   DECLARE_WND_SUPERCLASS (NULL, «ПРАВКА»)
   ...
};

Примечание   Потому что CWndClassInfo управляет сведения о классе "одного окна", каждое окно, созданное через экземпляр CWindowImpl будет основываться на один класс.

CWindowImpl также поддерживает окно подклассы. SubclassWindow метод придает существующему окну к CWindowImpl объекту и изменяет процедуру окна на CWindowImpl::WindowProc. Каждый экземпляр CWindowImpl можно подкласс другое окно.

Примечание   Для любого заданного объекта CWindowImpl вызовите Create или SubclassWindow. Вы не должны ссылаться оба метода на тот же объект.

В дополнение к CWindowImplATL обеспечивает CContainedWindow для создания окна, содержащихся внутри другого объекта.

Деструктора базового класса (~CWindowImplRoot) гарантирует, что окна исчезли перед уничтожением объекта.

CWindowImpl является производным от CWindowImplBaseT, который происходит от CWindowImplRoot, который в свою очередь, происходит от TBase и CMessageMap.

Для получения дополнительных сведений о См.
Создание элементов управления Учебник ATL
Использование windows в ATL Классы ATL окна
Мастер объектов ATL Создание проекта библиотеки ATL
Windows Окна и последующие темы в Platform SDK
Создание подклассов Подклассы процедура окна в Platform SDK
Суперкласс Суперкласс процедура окна в Platform SDK

# include lt;atlwin.h>

Члены класса

Родственные слова

BEGIN_MSG_MAP, CComControl

Index