CMessageMap

класс CMessageMap

CMessageMap — абстрактный базовый класс, который позволяет сообщение объекта карты будут иметь доступ к другим объектом. Для того чтобы объекта для представления его сообщения карт его класс должен быть производным от CMessageMap.

ATL использует CMessageMap для поддержки содержащихся windows и динамических сообщение цепочки карты. К примеру любой класс, содержащий CContainedWindow объект должен быть производным от CMessageMap. Следующий код взято из образец SUBEDIT . Через CComControl CAtlEdit класса автоматически является производным от CMessageMap.

класс CAtlEdit: государственные CComControllt;CAtlEdit >,...
               / / CComControl является производным от CWindowImpl,
               / / производный от CMessageMap
{
общественности:
   / / Объявить элемент данных содержит окно
   CContainedWindow элемент m_EditCtrl;

/ / Инициализировать содержит окно:
   // 1. Пройти «Изменить», чтобы указать, что замкнутых / / окно должно основываться на стандарте / / Windows Edit box
   // 2. «This» элемент указателя для указания этого CAtlEdit / / содержит схеме сообщений для / / сообщение содержит окна выполнения
   // 3. Передайте идентификатор схемы сообщений. В
   / / в данном случае, «1» идентифицирует схеме сообщений
   / / с ALT_MSG_MAP(1)
   CAtlEdit(): m_EditCtrl(_T("EDIT"), этот, 1)
   {
      m_bWindowOnly = TRUE;
   }

/ / Объявить схеме сообщений по умолчанию
   BEGIN_MSG_MAP(CAtlEdit)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      ...
   / / Объявить схема альтернативного сообщений
   / / выявлены «1»
   ALT_MSG_MAP(1)
      MESSAGE_HANDLER (WM_CHAR, OnChar)
   END_MSG_MAP()

...
};

Потому что содержит окно, m_EditCtrl , будут использовать карту сообщений в содержащего класса CAtlEdit является производным от CMessageMap.

Дополнительные сведения о сообщении карт Карт сообщение в разделе статьи "Окно классов ATL."

# include lt;atlwin.h>

Члены класса

См. такжеnbsp;CDynamicChain, BEGI&N_MSG_MAP, ALT_MSG_MAP

Index