MESSAGE_HANDLER
Définit une entrée dans une table des messages.
MESSAGE_HANDLER(
msg,
func
)
Paramètres
msg
[in] Le message windows.func
[in] le nom de la fonction gestionnaire de messages.
Notes
MESSAGE_HANDLER mappe une boîte de message windows à la fonction gestionnaire spécifiée.
En exécutant spécifié dans une macro d' MESSAGE_HANDLER doivent être définis comme suit :
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
Définit bHandled de table des messages à TRUE avant MessageHandler est appelée. Si MessageHandler ne gère pas complètement le message, il doit définir bHandled à FALSE pour indiquer le message nécessite un traitement davantage.
Notes
Commencez toujours une table des messages avec BEGIN_MSG_MAP.Vous pouvez déclarer les tables des messages secondaires suivantes avec ALT_MSG_MAP.La macro d' END_MSG_MAP marque la carte du message.Chaque table des messages doit avoir une seule instance d' BEGIN_MSG_MAP et d' END_MSG_MAP.
En plus de MESSAGE_HANDLER, vous pouvez utiliser COMMAND_HANDLER et NOTIFY_HANDLER pour mapper les messages de WM_COMMAND et de WM_NOTIFY , respectivement.
Pour plus d'informations sur l'utilisation des tables des messages dans ATL, consultez tables des messages.
Exemple
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;
}
};
Configuration requise
Header: atlwin.h