CHAIN_MSG_MAP_MEMBER
Definuje položku mapy zprávy.
CHAIN_MSG_MAP_MEMBER( theChainMember )
Parametry
- theChainMember
[v] Název mapy zprávu obsahující datový člen.
Poznámky
CHAIN_MSG_MAP_MEMBERsměruje zprávy datový člen výchozí zpráva mapy (s BEGIN_MSG_MAP).Přímého zprávy datový člen alternativní zprávu mapy (s ALT_MSG_MAP), použijte CHAIN_MSG_MAP_ALT_MEMBER.
[!POZNÁMKA]
Vždy začít zpráva mapa s BEGIN_MSG_MAP .Potom můžete deklarovat mapy následující alternativní zprávu s ALT_MSG_MAP .END_MSG_MAP makro označuje konec zprávy mapy.Mapa každé zprávy musí mít přesně jeden výskyt BEGIN_MSG_MAP a END_MSG_MAP .
Další informace o použití mapy zprávy v ATL naleznete Zpráva mapuje.
Příklad
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;
}
};
Tento příklad ukazuje následující:
Používáte okno postup CMyClass na výchozí zpráva mapy a OnPaint nemá zpracování zprávy, zpráva je přesměrován do m_obj na mapu výchozí zprávu pro zpracování.
Pokud okno postup používá první mapa alternativní zprávy v CMyClass , všechny zprávy budou směrovány do m_obj na výchozí zpráva mapy.
Pokud okno postup používá CMyClass mapování alternativního druhá zpráva společnosti a OnChar nemá zpracování zprávy, zpráva je přesměrován do mapu zadanou zprávu alternativní m_obj .Třída CMyContainedClass vyjádřili zpráva mapa s ALT_MSG_MAP(1) .
Požadavky
Záhlaví: atlwin.h