Freigeben über


CHAIN_MSG_MAP

Definiert einen Eintrag in einer Meldungszuordnung.

CHAIN_MSG_MAP( theChainClass )

Parameter

  • theChainClass
    [in] Der Name der Basisklasse, die die Meldungszuordnung enthält.

Hinweise

CHAIN_MSG_MAP Meldungen verweist auf eine Standardmeldungszuordnung der Basisklasse (deklariert mit BEGIN_MSG_MAP).Um Nachrichten auf eine alternative Meldungszuordnung der Basisklasse zu verweisen (deklariert mit ALT_MSG_MAP), verwenden Sie CHAIN_MSG_MAP_ALT.

HinweisHinweis

Starten Sie immer eine Meldungszuordnung mit BEGIN_MSG_MAP.Sie können folgende alternative Meldungszuordnungen mit ALT_MSG_MAP deklarieren.Das END_MSG_MAP-Makro markiert das Ende der Meldungszuordnung.Jede Meldungszuordnung muss eine Instanz von BEGIN_MSG_MAP und von END_MSG_MAP genau haben.

Weitere Informationen zur Verwendung von Meldungszuordnungen in ATL, finden Sie unter Meldungszuordnungen.

Beispiel

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;   
   }
};

Dieses Beispiel zeigt Folgendes:

  • Wenn eine Fensterprozedur die Standardmeldungszuordnung von CMyClass verwendet und OnPaint keine Meldung bearbeitet, wird die Meldung auf die Standardmeldungszuordnung von CMyBaseClass zur Verarbeitung verwiesen.

  • Wenn eine Fensterprozedur die erste alternative Meldungszuordnung in CMyClass verwendet, werden alle Meldungen auf die Standardmeldungszuordnung von CMyBaseClass verwiesen.

  • Wenn eine Fensterprozedur die zweite alternative Meldungszuordnung von CMyClass verwendet und OnChar keine Meldung bearbeitet, wird die Nachricht an die angegebene alternative Meldungszuordnung in CMyBaseClass verwiesen.CMyBaseClass muss diese Meldungszuordnung mit ALT_MSG_MAP(1) deklariert haben.

Anforderungen

Header: atlwin.h

Siehe auch

Referenz

CHAIN_MSG_MAP_MEMBER

CHAIN_MSG_MAP_DYNAMIC

MESSAGE_HANDLER

Weitere Ressourcen

Meldungszuordnungs-Makros (ATL)

ATL-Makros