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 змінити поле
   DECLARE_WND_SUPERCLASS (NULL, "ЗМІНИТИ")
   ...
};

Примітка   Оскільки CWndClassInfo керує інформації для одного вікна класу, кожне вікно створено через екземпляр CWindowImpl буде заснований на ж клас вікна.

CWindowImpl також підтримує вікно subclassing. Метод SubclassWindow надає наявному вікні CWindowImpl об'єкта і змінює порядок вікна на CWindowImpl::WindowProc. Кожен екземпляр CWindowImpl можна підкласу іншого вікна.

Примітка   Для будь-якого CWindowImpl даного об'єкта зателефонуйте або Створити або SubclassWindow. Ви не повинні викликати обидва методи на той самий об'єкт.

На додаток до CWindowImplATL забезпечує CContainedWindow створити вікно, що містяться в інший об'єкт.

Базовий клас деструктор (~CWindowImplRoot) гарантує, що вікно пішли, перш ніж знищили об'єкт.

CWindowImpl походить від CWindowImplBaseT, яка випливає з CWindowImplRoot, який в свою чергу, походить від TBase і CMessageMap.

Для отримання додаткових відомостей про Див.
Створення елементів керування ATL підручник
За допомогою windows в ATL ATL класи вікон
Майстер ATL об'єкта Створення ATL-проект
Windows Windows і наступні теми у Платформи SDK
Subclassing Вікно процедури Subclassing платформи SDK
Superclassing Вікно процедури Superclassing платформи SDK

# включити lt;atlwin.h>

Члени класу

Дивіться також

BEGIN_MSG_MAP, CComControl

Index