CMessageMap

klasa CMessageMap

CMessageMap jest to abstrakcyjna klasa podstawowa, umożliwiający obiektu wiadomości mapuje udostępnianych przez inny obiekt. Aby obiekt, który będzie wystawiać jego mapy wiadomości jego klasy musi pochodzić od CMessageMap.

ATL używa CMessageMap do obsługi zawartych windows i instalacjami mapy dynamiczne wiadomości. Na przykład każda klasa zawierająca obiektu CContainedWindow musi pochodzić od CMessageMap. Poniższy kod jest pobierana z SUBEDIT próbki. Poprzez CComControl CAtlEdit Klasa automatycznie pochodzi od CMessageMap.

klasa CAtlEdit: CComControllt publicznych;CAtlEdit >,...
               / / CComControl pochodzi od CWindowImpl,
               / / który pochodzi od CMessageMap
{
publiczne:
   / / Deklaruje element danych zamknięte okno
   CContainedWindow m_EditCtrl;

/ / Inicjuj zamknięte okno:
   // 1. Przekazywanie "Edytuj", aby określić, że zamkniętego / / okna powinny być oparte na standardzie / / pole Edycja systemu Windows
   // 2. Przekazać 'this' wskaźnik do określenia tego CAtlEdit / / zawiera mapę komunikat ma być używany dla / / przetwarzanie zamknięte okno wiadomości
   // 3. Przekazywanie identyfikatora mapy wiadomości. W
   / / tym przypadku '1' określa mapę wiadomości
   / / zadeklarowane z ALT_MSG_MAP(1)
   CAtlEdit(): m_EditCtrl(_T("EDIT"), to, 1)
   {
      m_bWindowOnly = TRUE;
   }

/ / Zadeklarować domyślną mapy wiadomości
   BEGIN_MSG_MAP(CAtlEdit)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      ...
   / / Zadeklarować mapą alternatywnego wiadomości
   / / zidentyfikowane przez '1'
   ALT_MSG_MAP(1)
      MESSAGE_HANDLER (używając funkcji, OnChar)
   END_MSG_MAP()

...
};

Ponieważ okna zamkniętego, m_EditCtrl , użyje mapy komunikat zawierający klasy CAtlEdit pochodzi z CMessageMap.

Aby uzyskać więcej informacji na temat wiadomości map zobacz Wiadomości mapuje w artykule "ATL okno klasy."

# include lt;atlwin.h>

Członkowie klasy

Zobacz teżnbsp;CDynamicChain, BEGI&N_MSG_MAP, ALT_MSG_MAP

Index