CHAIN_MSG_MAP_MEMBER
定義在訊息對應的項目。
CHAIN_MSG_MAP_MEMBER( theChainMember )
參數
- theChainMember
[in] 包含訊息對應的資料成員名稱。
備註
CHAIN_MSG_MAP_MEMBER 導向訊息至資料成員的預設訊息對應 (宣告 BEGIN_MSG_MAP)。 若要將訊息傳送至資料成員的替代的訊息對應 (請宣告 ALT_MSG_MAP),請使用 CHAIN_MSG_MAP_ALT_MEMBER。
注意事項 |
---|
從 BEGIN_MSG_MAP永遠啟動訊息對應。您可以宣告 ALT_MSG_MAP的後續替代的訊息對應。END_MSG_MAP 巨集將訊息對應的結束。每個訊息對應必須剛好有 BEGIN_MSG_MAP 和 END_MSG_MAP一個執行個體。 |
如需使用的詳細資訊訊息在 ATL 對應,請參閱 訊息對應。
範例
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;
}
};
這個範例說明下列:
如果視窗程序使用 CMyClass 預設的訊息對應,並 OnPaint 未處理訊息,訊息會被導向 entity_CODEm_obj 的預設處理的訊息對應。
如果視窗程序在 CMyClass使用第一個替代的訊息對應,所有訊息導向 entity_CODEm_obj 預設的訊息對應。
如果視窗程序使用 CMyClass 的下一個替代的訊息對應,而且 OnChar 未處理訊息,訊息會被導向 m_obj指定的替代的訊息對應。 類別 CMyContainedClass 必須宣告 ALT_MSG_MAP(1)產生此訊息對應。
需求
Header: atlwin.h