шаблон 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>
Родственные слова