Udostępnij za pośrednictwem


CHAIN_MSG_MAP

Określa wpis w mapie wiadomości.

CHAIN_MSG_MAP( theChainClass )

Parametry

  • theChainClass
    [w] Nazwa klasy podstawowej, zawierający mapę wiadomości.

Uwagi

CHAIN_MSG_MAPkieruje wiadomości do mapy wiadomości domyślna klasa podstawowa (zadeklarowana z BEGIN_MSG_MAP).Wiadomości do klasy bazowej mapy alternatywny wiadomości bezpośrednich (zadeklarowana z ALT_MSG_MAP), użyj CHAIN_MSG_MAP_ALT.

[!UWAGA]

Zawsze rozpocząć mapa wiadomości z BEGIN_MSG_MAP.Następnie można zadeklarować mapy kolejnych wiadomości alternatywny z ALT_MSG_MAP.END_MSG_MAP makro oznacza koniec mapę wiadomości.Mapa każdej wiadomości musi mieć dokładnie jedno wystąpienie BEGIN_MSG_MAP i END_MSG_MAP.

Aby uzyskać więcej informacji na temat mapom wiadomości w ATL zobacz Wiadomości mapuje.

Przykład

class CMyExtClass : public CMyBaseClass
{
public:
  BEGIN_MSG_MAP(CMyExtClass)
     MESSAGE_HANDLER(WM_PAINT, OnPaint)
     // chain to default message map in CMyBaseClass
     CHAIN_MSG_MAP(CMyBaseClass)
  ALT_MSG_MAP(1)
     // chain to first alternative message map in CMyBaseClass
     CHAIN_MSG_MAP(CMyBaseClass)
  ALT_MSG_MAP(2)
     MESSAGE_HANDLER(WM_CHAR, OnChar)
     // chain to alternate message map in CMyBaseClass
     CHAIN_MSG_MAP_ALT(CMyBaseClass, 1)
  END_MSG_MAP()

   LRESULT OnPaint(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }

   LRESULT OnChar(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }
};

Ten przykład ilustruje następujące czynności:

  • Jeśli zastosowano procedurę okna CMyClass's domyślną mapę wiadomości i OnPaint jest nie uchwyt wiadomości, wiadomość jest kierowany do CMyBaseClass's domyślną mapę wiadomości do przetworzenia.

  • Jeśli procedury okna przy użyciu pierwszej mapy alternatywny wiadomości w CMyClass, wszystkie wiadomości są kierowane do CMyBaseClass's domyślną mapę wiadomości.

  • Jeśli zastosowano procedurę okna CMyClass's zamapować drugi komunikat alternatywnego i OnChar jest nie uchwyt wiadomości, wiadomość jest skierowane do mapy określoną wiadomość alternatywnego w CMyBaseClass.CMyBaseClassoświadczyła mapę tej wiadomości z ALT_MSG_MAP(1).

Wymagania

Nagłówek: atlwin.h

Zobacz też

Informacje

CHAIN_MSG_MAP_MEMBER

CHAIN_MSG_MAP_DYNAMIC

MESSAGE_HANDLER

Inne zasoby

Makra mapę wiadomości (ATL)

Makra ATL