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_MAPEND_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

請參閱

參考

CHAIN_MSG_MAP

CHAIN_MSG_MAP_DYNAMIC

MESSAGE_HANDLER

其他資源

訊息對應巨集 (ATL)

ATL 巨集