NOTIFY_HANDLER
Definuje položku mapy zprávy.
NOTIFY_HANDLER(
id,
cd,
func
)
Parametry
id
[v] Identifikátor ovládacího prvku odeslání zprávy.cd
[v] Kód upozornění.func
[v] Název funkce zpracování zprávy.
Poznámky
NOTIFY_HANDLERmapuje WM_NOTIFY zpráva Zadaný popisovač funkce, na základě kód oznámení a identifikátor ovládacího prvku.
Všechny funkce v NOTIFY_HANDLER makra musí být definována takto:
LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
Nastaví mapu zpráva bHandled na TRUE před NotifyHandler se nazývá.Pokud NotifyHandler 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ě NOTIFY_HANDLER , můžete použít MESSAGE_HANDLER mapovat WM_NOTIFY zpráva bez ohledu na identifikátoru nebo kód.V tomto případě MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) všechny přímé WM_NOTIFY zpráv s OnHandlerFunction .
Další informace o použití mapy zprávy v ATL naleznete Zpráva mapuje.
Příklad
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*/);
};
Požadavky
Záhlaví: atlwin.h