INFO: Use a Macro ON_MESSAGE() para mapear mensagens menos comuns

Sumário

A biblioteca Microsoft Foundation Class inclui macros que um aplicativo pode incluir no mapa de mensagem dos CWnd ou CWnd objeto derivado. Essas macros, como ON_WM_PAINT() e ON_WM_SIZE(), mapeiam mensagens comuns para as funções do manipulador padrão. A biblioteca Microsoft Foundation Class fornece macros para todas as mensagens de janela padrão. Para processar a mensagem definida pelo usuário ou mensagens de janela menos comuns (como WM_COMMNOTIFY), use a macro ON_MESSAGE(). A macro ON_MESSAGE deve ser usada em uma classe derivada de CWnd. Por exemplo, ele não pode ser usado em uma classe CWinApp ou um CDocument porque nenhuma dessas classes é derivada de CWnd.

Mais informações

Aqui está um exemplo de como um aplicativo pode usar ON_MESSAGE:

  // inside the class declaration  afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);

...

#define WM_MYMESSAGE (WM_USER + 100)

BEGIN_MESSAGE_MAP(CMyWnd, CMyParentWndClass)
ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()

LRESULT CMyWnd::OnMyMessage(WPARAM WParam, LPARAM LParam)
{
return (LRESULT)0;
}

A função especificada pelo segundo parâmetro da macro ON_MESSAGE deve ser uma função que utiliza dois parâmetros, um WPARAM e LPARAM e retorna um LRESULT. Para obter mais informações sobre a macro ON_MESSAGE(), consulte técnica Observação n º 6 no arquivo de Ajuda do MFC Tech notas distribuídos com o Microsoft Visual C++ versão 1.0 e nas notas técnicas do MFC incluídas no Visual C++ Books Online. Ou pesquise o Visual C++ livros on-line a palavra-chave "ON_MESSAGE".
Propriedades

ID do Artigo: 99848 - Última Revisão: 12 de jan de 2017 - Revisão: 1

Comentários