Condividi tramite


MESSAGE_HANDLER

Definisce una voce in una mappa dei messaggi.

MESSAGE_HANDLER( 
   msg, 
   func  
)

Parametri

  • msg
    [in] il messaggio di Windows.

  • func
    [in] il nome della funzione di gestore.

Note

MESSAGE_HANDLER esegue il mapping di un messaggio di Windows alla funzione di gestione specificata.

Qualsiasi funzione specificata in una macro MESSAGE_HANDLER deve essere definita come segue:

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

Imposta bHandled della mappa messaggi a TRUE prima MessageHandler viene chiamato.Se MessageHandler completamente non gestisce il messaggio, deve impostare bHandled a FALSE per indicare un'ulteriore elaborazione delle necessità del messaggio.

[!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.

Oltre a MESSAGE_HANDLER, è possibile utilizzare COMMAND_HANDLER e NOTIFY_HANDLER per eseguire il mapping dei messaggi WM_NOTIFY e WM_COMMAND, rispettivamente.

Per ulteriori informazioni sull'utilizzo delle mappe dei messaggi in ATL, vedere Mappe messaggi.

Esempio

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;   
   }
};

Requisiti

Header: atlwin.h

Vedere anche

Riferimenti

MESSAGE_RANGE_HANDLER

Altre risorse

Macro della mappa messaggi (ATL)

Macro ATL