CMessageMap

classe CMessageMap

CMessageMap est une classe de base abstraite qui permet le message un objet mappe à être consulté par un autre objet. Pour qu'un objet d'exposer ses cartes message, sa classe doit dériver de CMessageMap.

ATL utilise CMessageMap de soutien contenue windows et message dynamique carte chaînage. Par exemple, une classe contenant un objet de type CContainedWindow doit dériver de CMessageMap. Le code suivant provient de la exemple SUBEDIT . Par CComControl, le CAtlEdit classe dérive automatiquement de CMessageMap.

la classe CAtlEdit : CComControllt public ;CAtlEdit >,...
               / / CComControl dérive de CWindowImpl,
               / / qui dérive de CMessageMap
{
public :
   / / Déclare un membre de données de contenu fenêtre
   CContainedWindow m_EditCtrl ;

/ / Initialiser la fenêtre contient :
   // 1. Pass « EDIT » pour spécifier que le contenu / / fenêtre devrait être basé sur la norme / / boîte d'édition Windows
   // 2. Passer le pointeur « this » pour spécifier que CAtlEdit / contient la carte message à utiliser pour les / / message du contenu de la fenêtre de traitement
   // 3. Passer l'identifiant de la carte de message. Dans
   / / espèce, « 1 » identifie la carte message
   / / déclarée avec ALT_MSG_MAP(1)
   CAtlEdit() : m_EditCtrl(_T("EDIT"), ce, 1)
   {
      m_bWindowOnly = TRUE ;
   }

/ / Déclare la carte de message par défaut
   BEGIN_MSG_MAP(CAtlEdit)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      ...
   / / Déclare une carte message remplaçant,
   et identifiées par « 1 »
   ALT_MSG_MAP(1)
      MESSAGE_HANDLER (WM_CHAR, OnChar)
   END_MSG_MAP()

...
};

Parce que la fenêtre contenue, m_EditCtrl , utilisera une carte message dans la classe contenant, CAtlEdit dérive de CMessageMap.

Pour plus d'informations sur les cartes message, voir Message des cartes dans l'article « Classes de fenêtre ATL. »

# include lt;atlwin.h>

Membres de classe

Voir aussinbsp ;CDynamicChain, BEGI&N_MSG_MAP, ALT_MSG_MAP

Index