Compartilhar via


COMMAND_HANDLER

Define uma entrada em um MAP da mensagem.

COMMAND_HANDLER( id, code, func )

Parâmetros

  • id
    [in] O identificador do item de menu, controle ou acelerador.

  • code
    [in] O código de notificação.

  • func
    [in] O nome da função de manipulador de mensagens.

Comentários

COMMAND_HANDLER mapeia um WM_COMMAND mensagem para a função de manipulador especificado, com base no código de notificação e o identificador de controle.Por exemplo:

class ATL_NO_VTABLE CPolyProp :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CPolyProp, &CLSID_PolyProp>,
   public IPropertyPageImpl<CPolyProp>,
   public CDialogImpl<CPolyProp>
{
public:
BEGIN_COM_MAP(CPolyProp)
   COM_INTERFACE_ENTRY(IPropertyPage)
END_COM_MAP()

BEGIN_MSG_MAP(CPolyProp)
   COMMAND_HANDLER(IDC_SIDES, EN_CHANGE, OnEnChangeSides)
   CHAIN_MSG_MAP(IPropertyPageImpl<CPolyProp>)
END_MSG_MAP()

   // When a CPolyProp object receives a WM_COMMAND message identified 
   // by IDC_SIDES and EN_CHANGE, the message is directed to 
   // CPolyProp::OnEnChangeSides for the actual processing.
   LRESULT OnEnChangeSides(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, 
      BOOL& /*bHandled*/);

Qualquer função especificada em um COMMAND_HANDLER macro deve ser definida da seguinte maneira:

LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);

O MAP da mensagem define bHandled para TRUE before CommandHandler é chamado. If CommandHandler totalmente não manipula a mensagem, ele deve ser definido bHandled para FALSE para indicar a mensagem precisa processamento adicional.

Observação:

Sempre começam com um MAP da mensagem BEGIN_MSG_MAP.Em seguida, você pode declarar mensagem subseqüente alternativo mapas com ALT_MSG_MAP.The END_MSG_MAP macro marca o participante do MAP da mensagem.Cada MAP da mensagem deve ter exatamente uma instância de BEGIN_MSG_MAP e END_MSG_MAP.

Em adição a COMMAND_HANDLER, você pode usar MESSAGE_HANDLER to map a WM_COMMAND mensagem sem considerar a um identificador ou código.Nesse caso, MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) direcionará todas WM_COMMAND mensagens de OnHandlerFunction.

Para obter mais informações sobre o uso de mapas de mensagem em ATL, consulte Mapas de mensagem.

Requisitos

Cabeçalho: atlwin.h

Consulte também

Referência

COMMAND_ID_HANDLER

COMMAND_CODE_HANDLER

COMMAND_RANGE_HANDLER

NOTIFY_HANDLER

Outros recursos

Macros de MAP da mensagem (ATL)

Macros ATL