共用方式為


MESSAGE_HANDLER

定義在訊息對應的項目。

MESSAGE_HANDLER( 
   msg, 
   func  
)

參數

  • msg
    [in] Windows 訊息。

  • func
    [in] 訊息處理常式函式的名稱。

備註

MESSAGE_HANDLER 將視窗訊息傳送至指定的處理函式。

必須定義在 MESSAGE_HANDLER 巨集中指定的所有函式:

LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

的訊息對應集合 bHandled 在 MessageHandler 之前呼叫。 如果 MessageHandler 不完全處理訊息,應該將 bHandled 至 表示訊息需要進一步處理。

注意事項注意事項

BEGIN_MSG_MAP永遠啟動訊息對應。您可以宣告 ALT_MSG_MAP的後續替代的訊息對應。END_MSG_MAP 巨集將訊息對應的結束。每個訊息對應必須剛好有 BEGIN_MSG_MAPEND_MSG_MAP一個執行個體。

除了 MESSAGE_HANDLER之外,您也可以使用 COMMAND_HANDLERNOTIFY_HANDLER 對應 WM_COMMANDWM_NOTIFY 訊息,名稱分別為、和。

如需使用的詳細資訊訊息在 ATL 對應,請參閱 訊息對應

範例

class CMyBaseWindow : public CWindowImpl<CMyBaseWindow>
{
public:
   BEGIN_MSG_MAP(CMyBaseWindow)
      MESSAGE_HANDLER(WM_CREATE, OnCreate)
   END_MSG_MAP()

   // When a CMyBaseWindow object receives a WM_CREATE message, the message
   // is directed to CMyBaseWindow::OnCreate for the actual processing.
   LRESULT OnCreate(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }
};

需求

Header: atlwin.h

請參閱

參考

MESSAGE_RANGE_HANDLER

其他資源

訊息對應巨集 (ATL)

ATL 巨集