NOTIFY_HANDLER
Określa wpis w mapie wiadomości.
NOTIFY_HANDLER(
id,
cd,
func
)
Parametry
id
[w] Identyfikator formantu wysyłania wiadomości.cd
[w] Kod powiadomienia.func
[w] Nazwa funkcji obsługi wiadomości.
Uwagi
NOTIFY_HANDLERmapuje WM_NOTIFY wiadomości do obsługi określonych funkcji, na podstawie kodu powiadomienia i identyfikator formantu.
Wszelkich funkcji określonych w NOTIFY_HANDLER makro zostanie zdefiniowany następująco:
LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
Zestawy mapę wiadomości bHandled do TRUE przed NotifyHandler jest wywoływana.Jeśli NotifyHandler 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 NOTIFY_HANDLER, można użyć MESSAGE_HANDLER mapować WM_NOTIFY wiadomości, niezależnie od identyfikatora lub kodu.W przypadku MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) będą kierować wszystkie WM_NOTIFY wiadomości do OnHandlerFunction.
Aby uzyskać więcej informacji na temat mapom wiadomości w ATL zobacz Wiadomości mapuje.
Przykład
class CMyDialog2 : public CDialogImpl<CMyDialog2>
{
public:
enum { IDD = IDD_MYDLG };
BEGIN_MSG_MAP(CMyDialog2)
NOTIFY_HANDLER(IDC_TREE1, NM_CLICK, OnNMClickTree1)
END_MSG_MAP()
public:
// When a CMyDialog2 object receives a WM_NOTIFY message
// identified by IDC_TREE1 and NM_CLICK, the message is
// directed to CMyDialog2::OnNMClickTree1 for the actual
// processing.
LRESULT OnNMClickTree1(int /*idCtrl*/, LPNMHDR pNMHDR, BOOL& /*bHandled*/);
};
Wymagania
Nagłówek: atlwin.h