Sdílet prostřednictvím


COMMAND_HANDLER

Definuje položku mapy zprávy.

COMMAND_HANDLER( id, code, func )

Parametry

  • id
    [v] Identifikátor položky nabídky, řízení nebo akcelerátoru.

  • code
    [v] Kód upozornění.

  • func
    [v] Název funkce zpracování zprávy.

Poznámky

COMMAND_HANDLERmapuje WM_COMMAND zpráva Zadaný popisovač funkce, na základě kód oznámení a identifikátor ovládacího prvku.Příklad:

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*/);

Všechny funkce v COMMAND_HANDLER makra musí být definována takto:

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

Nastaví mapu zpráva bHandled na TRUE před CommandHandler se nazývá.Pokud CommandHandler plně nezpracovává zprávy, měli nastavit bHandled na FALSE označit zprávu zapotřebí dalšího zpracování.

[!POZNÁMKA]

Vždy začít zpráva mapa s BEGIN_MSG_MAP.Potom můžete deklarovat mapy následující alternativní zprávu s ALT_MSG_MAP.END_MSG_MAP makro označuje konec zprávy mapy.Mapa každé zprávy musí mít přesně jeden výskyt BEGIN_MSG_MAP a END_MSG_MAP .

Kromě COMMAND_HANDLER , můžete použít MESSAGE_HANDLER mapovat WM_COMMAND zpráva bez ohledu na identifikátoru nebo kód.V tomto případě MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) všechny přímé WM_COMMAND zpráv s OnHandlerFunction .

Další informace o použití mapy zprávy v ATL naleznete Zpráva mapuje.

Požadavky

Záhlaví: atlwin.h

Viz také

Referenční dokumentace

COMMAND_ID_HANDLER

COMMAND_CODE_HANDLER

COMMAND_RANGE_HANDLER

NOTIFY_HANDLER

Další zdroje

Zpráva mapa makra (ATL)

Makra ATL