ALT_MSG_MAP

ALT_MSG_MAP ( msgMapID )

Parametri

msgMapID

[in] L'identificativo del messaggio mappa.

Osservazioni

Segna l'inizio di una mappa di messaggio alternativo. ATL identifica ogni mappa messaggi da un numero. La mappa messaggi predefinita (dichiarata con la macro BEGIN_MSG_MAP ) è identificata da 0. Una mappa di messaggio alternativo è identificata da msgMapID.

Mappe messaggi vengono utilizzati per elaborare i messaggi inviati a una finestra. Ad esempio, CContainedWindow consente di specificare l'identificatore di una mappa del messaggio in oggetto contenitore. CContainedWindow::WindowProc quindi utilizza questa mappa del messaggio per indirizzare messaggi della finestra contenuta per la funzione di gestore appropriato o per un'altra mappa messaggi. Per un elenco delle macro che dichiarare le funzioni di gestione, vedere BEGIN_MSG_MAP.

Iniziare sempre una mappa messaggi con BEGIN_MSG_MAP. È possibile dichiarare mappe successivi messaggi alternativo. L'esempio seguente mostra la mappa messaggi predefinita e la mappa di un messaggio alternativo, ognuno contenente una funzione del gestore:

BEGI&N_MSG_MAP(CMyClass)
 nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

L'esempio seguente illustra due mappe messaggio alternativo. La mappa messaggi predefinita è vuota.

 BEGI&N_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
 nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
   MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
ALT_MSG_MAP(2)
   MESSAGE_HANDLER (WM_CREATE, OnCreate)
END_MSG_MAP()

La macro END_MSG_MAP segna la fine della mappa messaggi. Nota che c'è sempre esattamente un'istanza di BEGIN_MSG_MAP ed END_MSG_MAP.

Per ulteriori informazioni sull'utilizzo di mappe messaggi in ATL, vedere Mappe messaggio nell'articolo "Classi finestra ATL."

Macro ATL e funzioni globali

Vedi anche

MESSAGE_HANDLER, CMessageMap, CDynamicChain

Index