NOTIFY_HANDLER

NOTIFY_HANDLER ( identyfikator, cd, PF )

Parametry

identyfikator

[w] Identyfikator formantu wysyłania wiadomości.

kod

[w] Kod powiadomienia.

func

[w] Nazwa funkcji programu obsługi wiadomości.

Uwagi

Określa wpis w mapie wiadomości. Mapuje NOTIFY_HANDLER WM_NOTIFY wiadomość do funkcji obsługi określonych na podstawie kodu powiadomienia i identyfikator formantu. Na przykład

klasa CMyClass:...
{
publiczne:
 nbsp; ...

BEGI&N_MSG_MAP(CMyClass)
      NOTIFY_HANDLER (IDC_MYCTL, NM_CLICK, OnClick)
      ...
   END_MSG_MAP()

/ / Jeżeli obiekt CMyClass otrzymuje WM_NOTIFY
   / / wiadomości identyfikowane przez IDC_MYCTL i NM_CLICK,
   / / wiadomości jest skierowane do CMyClass::OnClick
   / / dla rzeczywistego przetwarzania.
   LRESULT OnClick (...)
   { ... }

}

Wszelkie funkcje określone w makrze NOTIFY_HANDLER musi zdefiniowane w następujący sposób:

LRESULT NotifyH&andler(int idCtrl, LPNMHDR pnmh, BOOLamp; bHandled)

Zestawy mapę komunikat bHandled do Prawda przed NotifyHandler nazywa się. Jeśli NotifyHandler nie pełni obsługi wiadomości, należy ustawić bHandled FAŁSZYWE do wskazania wiadomość wymaga dalszego przetwarzania.

Uwaganbsp;  Zawsze rozpocząć mapy wiadomości z BEGI&N_MSG_MAP. Można następnie oświadczają, że kolejnych wiadomości alternatywnego mapy z ALT_MSG_MAP. Makro END_MSG_MAP znaki końca mapę wiadomości. Każda mapa wiadomości musi mieć dokładnie jedno wystąpienie BEGIN_MSG_MAP i END_MSG_MAP.

Oprócz NOTIFY_HANDLERmożna za pomocą MESSAGE_HANDLER mapę wiadomość WM_NOTIFY bez względu na identyfikator lub kodu. W tym przypadku MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) będą kierować wszystkie wiadomości WM_NOTIFYOnHandlerFunction.

Aby uzyskać więcej informacji na temat mapom wiadomości w ATL zobacz Wiadomości mapuje w artykule "ATL okno klasy."

ATL makra i funkcje globalne

Zobacz też

NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER

Index