Поделиться через


Класс CWindowImpl

Этот класс содержит методы для создания или subclassing окно.

Важное примечаниеВажно

Этот класс и его члены нельзя использовать в приложениях, выполняемых в этой среде выполнения Windows.

template <
class T,
class TBase= CWindow,
class TWinTraits= CControlWinTraits 
>
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits>

Параметры

  • T
    Класс, производный от CWindowImpl.

  • TBase
    Базовый класс для нового класса.По умолчанию базовый класс CWindow.

  • TWinTraits
    класс признаков, которое определяет стили для окна.Значение по умолчанию: CControlWinTraits.

Члены

h4616bh2.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

CWindowImpl::Create

Создается окно.

h4616bh2.collapse_all(ru-ru,VS.110).gifМетоды CWindowImplBaseT

DefWindowProc

Предоставляет обработку сообщений по умолчанию.

GetCurrentMessage

Возвращает текущее сообщение.

GetWindowProc

Возвращает текущую процедуру окна.

OnFinalMessage

Вызываемый после получения последнее сообщение (обычно WM_NCDESTROY).

SubclassWindow

Подклассы окно.

UnsubclassWindow

Получает ранее subclassed окно.

h4616bh2.collapse_all(ru-ru,VS.110).gifСтатические методы

GetWndClassInfo

Возвращает статический экземпляр CWndClassInfo, который управляет данные класса окна.

WindowProc

Обрабатывает сообщения, отправляемые окно.

h4616bh2.collapse_all(ru-ru,VS.110).gifЭлементы данных

m_pfnSuperWindowProc

Указывает на процедуру окна тип окна.

Заметки

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

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

class ATL_NO_VTABLE CMyWindow :
   OtherInheritedClasses
   public CComControl<CMyWindow>
          // CComControl derives from CWindowImpl
{
public:
   // 1. The NULL parameter means ATL will generate a
   //    name for the superclass
   // 2. The "EDIT" parameter means the superclass is
   //    based on the standard Windows Edit box
   DECLARE_WND_SUPERCLASS(NULL, _T("EDIT"))

   // Remainder of class declaration omitted
ПримечаниеПримечание

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

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

ПримечаниеПримечание

Для любого заданного объекта CWindowImpl, вызовите метод Создать или SubclassWindow.Не следует вызывать оба метода на этом же объекте.

В дополнение к CWindowImpl библиотеки ATL предоставляет CContainedWindow, чтобы создать поле, содержащееся внутри другой объект.

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

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

Дополнительные сведения

См.

Создание элементов управления

Учебник по библиотеке ATL

Использование окон в библиотеке ATL

Классы окна библиотеки ATL

Мастер проекта библиотеки ATL

Создание проекта библиотеки ATL

Окна

Сведения о процедурах по Windows

Иерархия наследования

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Требования

Header: atlwin.h

См. также

Ссылки

BEGIN_MSG_MAP

Класс CComControl

Другие ресурсы

Общие сведения о классе библиотеки ATL