COMMAND_HANDLER ( identyfikator, Kod, PF )
Parametry
identyfikator
[w] Identyfikator elementu menu, kontroli lub akcelerator.
kod
[w] Kod powiadomienia.
func
[w] Nazwa funkcji programu obsługi wiadomości.
Uwagi
Określa wpis w mapie wiadomości. Mapuje COMMAND_HANDLER WM_COMMAND 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)
COMMAND_HANDLER (IDC_MYCTL, EN_CHANGE, OnChange)
...
END_MSG_MAP()
/ / Jeżeli obiekt CMyClass otrzymuje WM_COMMAND
/ / wiadomości identyfikowane przez IDC_MYCTL i EN_CHANGE,
/ / wiadomości jest skierowane do CMyClass::OnChange
/ / dla rzeczywistego przetwarzania.
LRESULT OnChange (...)
{ ... }
}
Wszelkie funkcje określone w makrze COMMAND_HANDLER musi zdefiniowane w następujący sposób:
LRESULT Comm&andHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOLamp; bHandled)
Zestawy mapę komunikat bHandled
do Prawda przed CommandHandler
nazywa się. Jeśli CommandHandler
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 COMMAND_HANDLERmożna za pomocą MESSAGE_HANDLER mapę wiadomość WM_COMMAND bez względu na identyfikator lub kodu. W tym przypadku MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction)
będą kierować wszystkie wiadomości WM_COMMANDOnHandlerFunction
.
Aby uzyskać więcej informacji na temat mapom wiadomości w ATL zobacz Wiadomości mapuje w artykule "ATL okno klasy."
Zobacz też
COMMAND_ID_HANDLER, COMMAND_CODE_HANDLER, COMMAND_RANGE_HANDLER, NOTIFY_HANDLER