COMMAND_HANDLER
Określa wpis w mapie wiadomości.
COMMAND_HANDLER( id, code, func )
Parametry
id
[w] Identyfikator elementu menu, kontroli lub akceleratora.code
[w] Kod powiadomienia.func
[w] Nazwa funkcji obsługi wiadomości.
Uwagi
COMMAND_HANDLERmapuje WM_COMMAND wiadomości do obsługi określonych funkcji, na podstawie kodu powiadomienia i identyfikator formantu.Na przykład:
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*/);
Wszelkich funkcji określonych w COMMAND_HANDLER makro zostanie zdefiniowany następująco:
LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
Zestawy mapę wiadomości bHandled do TRUE przed CommandHandler jest wywoływana.Jeśli CommandHandler nie obsługuje w pełni wiadomości, należy ustawić bHandled do FALSE do wskazania wiadomość wymaga dalszego przetwarzania.
[!UWAGA]
Zawsze rozpocząć mapa wiadomości z BEGIN_MSG_MAP.Następnie można zadeklarować mapy kolejnych wiadomości alternatywny z ALT_MSG_MAP.END_MSG_MAP makro oznacza koniec mapę wiadomości.Mapa każdej wiadomości musi mieć dokładnie jedno wystąpienie BEGIN_MSG_MAP i END_MSG_MAP.
Dodatkowo do COMMAND_HANDLER, można użyć MESSAGE_HANDLER mapować WM_COMMAND wiadomości, niezależnie od identyfikatora lub kodu.W przypadku MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) będą kierować wszystkie WM_COMMAND wiadomości do OnHandlerFunction.
Aby uzyskać więcej informacji na temat mapom wiadomości w ATL zobacz Wiadomości mapuje.
Wymagania
Nagłówek: atlwin.h