CHAIN_MSG_MAP_MEMBER
Definisce una voce in una mappa dei messaggi.
CHAIN_MSG_MAP_MEMBER( theChainMember )
Parametri
- theChainMember
[in] il nome del membro dati che contiene la mappa messaggi.
Note
CHAIN_MSG_MAP_MEMBER indirizzare i messaggi alla mappa messaggi predefinita di un membro dati (dichiarata con BEGIN_MSG_MAP).Per indirizzare i messaggi alla mappa messaggi alternativa di un membro dati (dichiarata con ALT_MSG_MAP), utilizzare CHAIN_MSG_MAP_ALT_MEMBER.
[!NOTA]
Inizia sempre una mappa messaggi con BEGIN_MSG_MAP.È quindi possibile dichiarare le mappe messaggi alternate successive con ALT_MSG_MAP.La macro END_MSG_MAP contrassegna la fine della mappa messaggi.Ogni mappa messaggi deve contenere esattamente un'istanza BEGIN_MSG_MAP e END_MSG_MAP.
Per ulteriori informazioni sull'utilizzo delle mappe dei messaggi in ATL, vedere Mappe messaggi.
Esempio
class CMyContainerClass : public CWindowImpl<CMyContainerClass>
{
public:
CMyContainedClass m_obj;
BEGIN_MSG_MAP(CMyContainerClass)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
// chain to default message map of m_obj
CHAIN_MSG_MAP_MEMBER(m_obj)
ALT_MSG_MAP(1)
// chain to default message map of m_obj
CHAIN_MSG_MAP_MEMBER(m_obj)
ALT_MSG_MAP(2)
MESSAGE_HANDLER(WM_CHAR, OnChar)
// chain to alternate message map of m_obj
CHAIN_MSG_MAP_ALT_MEMBER(m_obj, 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;
}
};
In questo esempio viene illustrato quanto segue:
Se una routine della finestra utilizzano la mappa messaggi predefinita di CMyClass e OnPaint non gestisce un messaggio, il messaggio viene indirizzato alla mappa messaggi predefinita di m_obj per l'elaborazione.
Se una routine della finestra utilizzano la prima mappa messaggi alternativa in CMyClass, tutti i messaggi vengono indirizzati alla mappa messaggi predefinita di m_obj.
Se una routine della finestra utilizzano la mappa messaggi secondo tipo di CMyClass e OnChar non gestisce un messaggio, il messaggio viene indirizzato alla mappa messaggi alternativa specificata m_obj.La classe CMyContainedClass deve dichiarare questa mappa messaggi con ALT_MSG_MAP(1).
Requisiti
Header: atlwin.h