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."
Zobacz też
NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER