Makra mapy komunikatów (MFC)
Aby obsługiwać mapy komunikatów, MFC dostarcza następujące makra:
Makra demarcation i deklaracji mapy komunikatów
Nazwa/nazwisko | opis |
---|---|
DECLARE_MESSAGE_MAP |
Deklaruje, że mapa komunikatów będzie używana w klasie do mapowania komunikatów na funkcje (muszą być używane w deklaracji klasy). |
BEGIN_MESSAGE_MAP |
Rozpoczyna definicję mapy komunikatów (musi być używana w implementacji klasy). |
BEGIN_TEMPLATE_MESSAGE_MAP |
Rozpoczyna definicję mapy komunikatów w typie klasy zawierającej jeden argument szablonu. |
END_MESSAGE_MAP |
Kończy definicję mapy komunikatów (musi być używana w implementacji klasy). |
Makra mapowania komunikatów
Nazwa/nazwisko | opis |
---|---|
ON_COMMAND |
Wskazuje, która funkcja będzie obsługiwać określony komunikat polecenia. |
ON_COMMAND_EX |
Wskazuje, która funkcja będzie obsługiwać określony komunikat polecenia. |
ON_CONTROL |
Wskazuje, która funkcja będzie obsługiwać określony komunikat powiadomienia o kontrolce. |
ON_MESSAGE |
Wskazuje, która funkcja będzie obsługiwać komunikat zdefiniowany przez użytkownika. |
ON_OLECMD |
Wskazuje, która funkcja będzie obsługiwać polecenie menu z obiektu DocObject lub jego kontenera. |
ON_REGISTERED_MESSAGE |
Wskazuje, która funkcja będzie obsługiwać zarejestrowany komunikat zdefiniowany przez użytkownika. |
ON_REGISTERED_THREAD_MESSAGE |
Wskazuje, która funkcja będzie obsługiwać zarejestrowany komunikat zdefiniowany przez użytkownika, jeśli masz klasę CWinThread . |
ON_THREAD_MESSAGE |
Wskazuje, która funkcja będzie obsługiwać komunikat zdefiniowany przez użytkownika, gdy masz klasę CWinThread . |
ON_UPDATE_COMMAND_UI |
Wskazuje, która funkcja będzie obsługiwać określony komunikat polecenia aktualizacji interfejsu użytkownika. |
Makra zakresu mapy komunikatów
Nazwa/nazwisko | opis |
---|---|
ON_COMMAND_RANGE |
Wskazuje, która funkcja będzie obsługiwać zakres identyfikatorów poleceń określonych w dwóch pierwszych parametrach makra. |
ON_UPDATE_COMMAND_UI_RANGE |
Wskazuje, która procedura obsługi aktualizacji będzie obsługiwać zakres identyfikatorów poleceń określonych w dwóch pierwszych parametrach makra. |
ON_CONTROL_RANGE |
Wskazuje, która funkcja będzie obsługiwać powiadomienia z zakresu identyfikatorów kontrolek określonych w drugim i trzecim parametrze do makra. Pierwszy parametr to komunikat powiadomienia sterującego, taki jak BN_CLICKED . |
Aby uzyskać więcej informacji na temat map komunikatów, deklaracji mapy komunikatów i makr demarkacyjnych oraz makr mapowania komunikatów, zobacz Mapy komunikatów oraz Obsługa komunikatów i Tematy mapowania. Aby uzyskać więcej informacji na temat zakresów mapy komunikatów, zobacz Programy obsługi zakresów mapy komunikatów.
BEGIN_MESSAGE_MAP
Rozpoczyna definicję mapy komunikatów.
Składnia
BEGIN_MESSAGE_MAP( theClass, baseClass )
Parametry
theClass
Określa nazwę klasy, której mapa komunikatów jest.
baseClass
Określa nazwę klasy bazowej klasy theClass
.
Uwagi
W pliku implementacji (.cpp), który definiuje funkcje składowe dla klasy, uruchom mapę BEGIN_MESSAGE_MAP
komunikatów za pomocą makra, a następnie dodaj wpisy makra dla każdej funkcji obsługi komunikatów i ukończ mapę komunikatów za pomocą makra END_MESSAGE_MAP
.
Aby uzyskać więcej informacji na temat map komunikatów, zobacz Mapy komunikatów
Przykład
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()
Wymagania
Nagłówek: afxwin.h
BEGIN_TEMPLATE_MESSAGE_MAP
Rozpoczyna definicję mapy komunikatów w typie klasy zawierającej jeden argument szablonu.
Składnia
BEGIN_TEMPLATE_MESSAGE_MAP( theClass, type_name, baseClass )
Parametry
theClass
Określa nazwę klasy, której mapa komunikatów jest.
type_name
Nazwa parametru szablonu określonego dla klasy.
baseClass
Określa nazwę klasy bazowej klasy theClass
.
Uwagi
To makro jest podobne do BEGIN_MESSAGE_MAP
makra, jednak to makro jest przeznaczone dla klas zawierających jeden argument szablonu.
W sekcji implementacji metody klasy uruchom mapę komunikatów za BEGIN_TEMPLATE_MESSAGE_MAP
pomocą makra, a następnie dodaj wpisy makra dla każdej metody obsługi komunikatów, tak jak w przypadku standardowej mapy komunikatów. Podobnie jak w przypadku makra BEGIN_MESSAGE_MAP
, ukończ mapę komunikatów szablonu za pomocą makra END_MESSAGE_MAP
.
Aby uzyskać więcej informacji na temat implementowania map komunikatów dla klas szablonów, zobacz How to: Create a Message Map for a Template Class (Jak utworzyć mapę komunikatów dla klasy szablonu).
Wymagania
Nagłówek: afxwin.h
DECLARE_MESSAGE_MAP
Deklaruje, że klasa definiuje mapę komunikatów. Każda CCmdTarget
klasa pochodna w programie musi dostarczyć mapę komunikatów do obsługi komunikatów.
Składnia
DECLARE_MESSAGE_MAP( )
Uwagi
Użyj makra DECLARE_MESSAGE_MAP
na końcu deklaracji klasy. Następnie w pliku .cpp, który definiuje funkcje składowe dla klasy, użyj BEGIN_MESSAGE_MAP
makra, wpisów makra dla każdej funkcji obsługi komunikatów i makra END_MESSAGE_MAP
.
Uwaga
W przypadku deklarowania dowolnego elementu członkowskiego po DECLARE_MESSAGE_MAP
, należy określić dla nich nowy typ dostępu (public
, private
lub protected
).
Aby uzyskać więcej informacji na temat map komunikatów DECLARE_MESSAGE_MAP
i makra, zobacz Obsługa komunikatów i Tematy mapowania.
Przykład
class CMainFrame : public CMDIFrameWnd
{
DECLARE_MESSAGE_MAP()
// Remainder of class declaration omitted.
Wymagania
Nagłówek: afxwin.h
END_MESSAGE_MAP
Kończy definicję mapy komunikatów.
Składnia
END_MESSAGE_MAP( )
Uwagi
Aby uzyskać więcej informacji na temat map komunikatów END_MESSAGE_MAP
i makra, zobacz Obsługa komunikatów i Tematy mapowania.
Wymagania
Nagłówek: afxwin.h
ON_COMMAND
To makro mapuje komunikat polecenia na funkcję składową.
Składnia
ON_COMMAND( commandId, memberFxn )
Parametry
commandId
Identyfikator polecenia.
memberFxn
Nazwa funkcji obsługi komunikatów, do której polecenie jest mapowane.
Uwagi
Wskazuje ona, która funkcja będzie obsługiwać komunikat polecenia z obiektu interfejsu użytkownika polecenia, takiego jak element menu lub przycisk paska narzędzi.
Gdy obiekt docelowy polecenia odbiera komunikat systemu Windows WM_COMMAND
o określonym identyfikatorze, wywoła funkcję memberFxn
składową, ON_COMMAND
aby obsłużyć komunikat.
Służy ON_COMMAND
do mapowania pojedynczego polecenia na funkcję składową. Służy ON_COMMAND_RANGE
do mapowania zakresu identyfikatorów poleceń na jedną funkcję składową. Tylko jeden wpis mapy komunikatów może być zgodny z danym identyfikatorem polecenia. Oznacza to, że nie można mapować polecenia na więcej niż jedną procedurę obsługi. Aby uzyskać więcej informacji i przykładów, zobacz Obsługa komunikatów i Tematy mapowania.
Przykład
BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
ON_COMMAND(ID_MYCOMMAND, &CMFCListViewDoc::OnMycommand)
END_MESSAGE_MAP()
Wymagania
Nagłówek: afxmsg_.h
ON_COMMAND_EX
Rozszerzona funkcja składowa programu obsługi poleceń.
Składnia
ON_COMMAND_EX(commandId, memberFxn);
Parametry
commandId
Identyfikator polecenia.
memberFxn
Nazwa funkcji obsługi komunikatów, do której polecenie jest mapowane.
Uwagi
Rozszerzona forma obsługi komunikatów poleceń jest dostępna dla zaawansowanych zastosowań. Makro ON_COMMAND_EX
jest używane dla takich programów obsługi komunikatów i zapewnia nadzbiór ON_COMMAND
funkcji. Rozszerzone funkcje składowe programu obsługi poleceń przyjmują jeden parametr, zawierający UINT
identyfikator polecenia i zwracają wartość BOOL
. Wartość zwracana powinna wskazywać TRUE
, że polecenie zostało obsłużone. W przeciwnym razie routing będzie kontynuowany do innych obiektów docelowych poleceń.
Aby uzyskać więcej informacji, zobacz Informacje techniczne [TN006: Mapy komunikatów]tm006-message-maps.md).
Wymagania
Plik nagłówka: afxmsg_.h
ON_CONTROL
Wskazuje, która funkcja będzie obsługiwać komunikat powiadomienia niestandardowego sterowania.
Składnia
ON_CONTROL( wNotifyCode, commandId, memberFxn )
Parametry
wNotifyCode
Kod powiadomienia kontrolki.
commandId
Identyfikator polecenia.
memberFxn
Nazwa funkcji obsługi komunikatów, do której polecenie jest mapowane.
Uwagi
Komunikaty powiadomień sterujących są wysyłane z kontrolki do okna nadrzędnego.
Na mapie komunikatów powinna znajdować się dokładnie jedna ON_CONTROL
instrukcja makra dla każdego komunikatu powiadomienia sterującego, które muszą być mapowane na funkcję obsługi komunikatów.
Aby uzyskać więcej informacji i przykładów, zobacz Obsługa komunikatów i Tematy mapowania.
Wymagania
Nagłówek: afxmsg_.h
ON_MESSAGE
Wskazuje, która funkcja będzie obsługiwać komunikat zdefiniowany przez użytkownika.
Składnia
ON_MESSAGE( message, memberFxn )
Parametry
message
Identyfikator komunikatu.
memberFxn
Nazwa funkcji obsługi komunikatów, do której jest mapowany komunikat.
Typ funkcji musi mieć wartość afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM)
.
Uwagi
Komunikaty zdefiniowane przez użytkownika to komunikaty, które nie są standardowymi komunikatami systemu Windows WM_MESSAGE
. Podczas wybierania identyfikatora komunikatu należy użyć wartości w zakresie WM_USER
(0x0400), aby 0x7FFF lub WM_APP
(0x8000), aby 0xBFFF. Aby uzyskać więcej informacji na temat identyfikatorów komunikatów, zobacz WM_APP
.
W mapie komunikatów powinna znajdować się dokładnie jedna ON_MESSAGE
instrukcja makra dla każdego komunikatu zdefiniowanego przez użytkownika, który musi zostać zamapowany na funkcję obsługi komunikatów.
Uwaga
Oprócz komunikatów zdefiniowanych przez użytkownika, ON_MESSAGE
obsługuje mniej typowe komunikaty systemu Windows. Aby uzyskać więcej informacji, zobacz Mapy komunikatów.
Aby uzyskać więcej informacji i przykładów, zobacz Tematy obsługi komunikatów i mapowania oraz Programy obsługi zdefiniowane przez użytkownika
Przykład
#define WM_MYMESSAGE (WM_USER + 100)
BEGIN_MESSAGE_MAP(CMyWnd2, CWnd)
ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()
// inside the class declaration
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
// Handle message here.
return 0;
}
Wymagania
Nagłówek: afxmsg_.h
ON_OLECMD
Kieruje polecenia za pośrednictwem interfejsu IOleCommandTarget
wysyłania poleceń .
Składnia
ON_OLECMD( pguid, olecmdid, commandId )
Parametry
pguid
Identyfikator grupy poleceń, do której należy polecenie. Użyj NULL
dla grupy standardowej.
olecmdid
Identyfikator polecenia OLE.
commandId
Identyfikator menu, identyfikator paska narzędzi, identyfikator przycisku lub inny identyfikator zasobu lub obiektu wystawiającego polecenie.
Uwagi
IOleCommandTarget
umożliwia kontenerowi odbieranie poleceń pochodzących z interfejsu użytkownika obiektu DocObject i umożliwia kontenerowi wysyłanie tych samych poleceń (takich jak New, Open, SaveAs i Print w menu Plik) oraz Kopiowanie, Wklej, Cofnij itd. do obiektu DocObject.
IOleCommandTarget
program jest prostszy niż automatyzacja IDispatch
OLE. IOleCommandTarget
opiera się całkowicie na standardowym zestawie poleceń, które rzadko mają argumenty, i nie ma żadnych informacji o typie (bezpieczeństwo typu jest również zmniejszane dla argumentów poleceń). Jeśli musisz wysłać polecenia z argumentami, użyj polecenia COleServerDoc::OnExecOleCmd
.
Standardowe IOleCommandTarget
polecenia menu zostały zaimplementowane przez MFC w następujących makrach:
ON_OLECMD_CLEARSELECTION( )
Wysyła polecenie Edytuj wyczyść. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_CLEARSELECTION, ID_EDIT_CLEAR)
ON_OLECMD_COPY( )
Wysyła polecenie Edytuj kopię. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_COPY, ID_EDIT_COPY)
ON_OLECMD_CUT( )
Wysyła polecenie Edytuj wycinanie. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_CUT, ID_EDIT_CUT)
ON_OLECMD_NEW( )
Wysyła polecenie Plik nowy. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_NEW, ID_FILE_NEW)
ON_OLECMD_OPEN( )
Wysyła polecenie Otwórz plik. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_OPEN, ID_FILE_OPEN)
ON_OLECMD_PAGESETUP( )
Wysyła polecenie Instalatora strony pliku. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_PAGESETUP, ID_FILE_PAGE_SETUP)
ON_OLECMD_PASTE( )
Wysyła polecenie Edytuj wklej. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_PASTE, ID_EDIT_PASTE)
ON_OLECMD_PASTESPECIAL( )
Wysyła polecenie Edytuj wklej specjalne. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_PASTESPECIAL, ID_EDIT_PASTE_SPECIAL)
ON_OLECMD_PRINT( )
Wysyła polecenie File Print. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_PRINT, ID_FILE_PRINT)
ON_OLECMD_PRINTPREVIEW( )
Wysyła polecenie Podgląd wydruku pliku. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_PRINTPREVIEW, ID_FILE_PRINT_PREVIEW)
ON_OLECMD_REDO( )
Wysyła polecenie Edytuj ponownie. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_REDO, ID_EDIT_REDO)
ON_OLECMD_SAVE( )
Wysyła polecenie Zapisz plik. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_SAVE, ID_FILE_SAVE)
ON_OLECMD_SAVE_AS( )
Wysyła polecenie Zapisz jako pliku. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_SAVEAS, ID_FILE_SAVE_AS)
ON_OLECMD_SAVE_COPY_AS( )
Wysyła polecenie Zapisz kopię jako pliku. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_SAVECOPYAS, ID_FILE_SAVE_COPY_AS)
ON_OLECMD_SELECTALL( )
Wysyła polecenie Edytuj zaznacz wszystko. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_SELECTALL, ID_EDIT_SELECT_ALL)
ON_OLECMD_UNDO( )
Wysyła polecenie Edytuj cofnij. Zaimplementowano jako:
ON_OLECMD(NULL, OLECMDID_UNDO, ID_EDIT_UNDO)
Wymagania
Nagłówek: afxdocob.h
ON_REGISTERED_MESSAGE
Funkcja systemu Windows RegisterWindowMessage
służy do definiowania nowego komunikatu okna, który ma gwarancję unikatowości w całym systemie.
Składnia
ON_REGISTERED_MESSAGE( nMessageVariable, memberFxn )
Parametry
nMessageVariable
Zarejestrowana zmienna identyfikatora komunikatu okna.
memberFxn
Nazwa funkcji obsługi komunikatów, do której jest mapowany komunikat.
Uwagi
To makro wskazuje, która funkcja będzie obsługiwać zarejestrowany komunikat.
Aby uzyskać więcej informacji i przykładów, zobacz Obsługa komunikatów i Tematy mapowania.
Przykład
static UINT NEAR WM_FIND = RegisterWindowMessage(_T("COMMDLG_FIND"));
BEGIN_MESSAGE_MAP(CMyWnd3, CWnd)
ON_REGISTERED_MESSAGE(WM_FIND, OnFind)
END_MESSAGE_MAP()
Wymagania
Nagłówek: afxmsg_.h
ON_REGISTERED_THREAD_MESSAGE
Wskazuje, która funkcja będzie obsługiwać komunikat zarejestrowany przez funkcję systemu Windows RegisterWindowMessage
.
Składnia
ON_REGISTERED_THREAD_MESSAGE(nMessageVariable, memberFxn )
Parametry
nMessageVariable
Zarejestrowana zmienna identyfikatora komunikatu okna.
memberFxn
Nazwa CWinThread
funkcji -message-handler, do której jest mapowany komunikat.
Uwagi
RegisterWindowMessage
Służy do definiowania nowego komunikatu okna, który ma gwarancję unikatowości w całym systemie. ON_REGISTERED_THREAD_MESSAGE
należy użyć zamiast ON_REGISTERED_MESSAGE
klasy CWinThread
.
Wymagania
Nagłówek: afxmsg_.h
ON_THREAD_MESSAGE
Wskazuje, która funkcja będzie obsługiwać komunikat zdefiniowany przez użytkownika.
Składnia
ON_THREAD_MESSAGE( message, memberFxn )
Parametry
message
Identyfikator komunikatu.
memberFxn
Nazwa CWinThread
funkcji -message-handler, do której jest mapowany komunikat.
Uwagi
ON_THREAD_MESSAGE
należy użyć zamiast ON_MESSAGE
klasy CWinThread
. Komunikaty zdefiniowane przez użytkownika to komunikaty, które nie są standardowymi komunikatami systemu Windows WM_MESSAGE
. W mapie komunikatów powinna znajdować się dokładnie jedna ON_THREAD_MESSAGE
instrukcja makra dla każdego komunikatu zdefiniowanego przez użytkownika, który musi zostać zamapowany na funkcję obsługi komunikatów.
Wymagania
Nagłówek: afxole.h
ON_UPDATE_COMMAND_UI
To makro wskazuje, która funkcja będzie obsługiwać komunikat polecenia aktualizacji interfejsu użytkownika.
Składnia
ON_UPDATE_COMMAND_UI( messageId, memberFxn )
Parametry
messageId
Identyfikator komunikatu.
memberFxn
Nazwa funkcji obsługi komunikatów, do której jest mapowany komunikat.
Uwagi
Na mapie komunikatów powinna znajdować się dokładnie jedna ON_UPDATE_COMMAND_UI
instrukcja makra dla każdego polecenia aktualizacji interfejsu użytkownika, które należy zamapować na funkcję obsługi komunikatów.
Aby uzyskać więcej informacji i przykładów, zobacz Obsługa komunikatów i Tematy mapowania.
Wymagania
Nagłówek: afxole.h
ON_COMMAND_RANGE
Użyj tego makra, aby zamapować ciągły zakres identyfikatorów poleceń na pojedynczą funkcję obsługi komunikatów.
Składnia
ON_COMMAND_RANGE( id1, id2, memberFxn )
Parametry
id1
Identyfikator polecenia na początku ciągłego zakresu identyfikatorów poleceń.
id2
Identyfikator polecenia na końcu ciągłego zakresu identyfikatorów poleceń.
memberFxn
Nazwa funkcji obsługi komunikatów, do której są mapowane polecenia.
Uwagi
Zakres identyfikatorów zaczyna się od id1
i kończy się ciągiem id2
.
Służy ON_COMMAND_RANGE
do mapowania zakresu identyfikatorów poleceń na jedną funkcję składową. Służy ON_COMMAND
do mapowania pojedynczego polecenia na funkcję składową. Tylko jeden wpis mapy komunikatów może być zgodny z danym identyfikatorem polecenia. Oznacza to, że nie można mapować polecenia na więcej niż jedną procedurę obsługi. Aby uzyskać więcej informacji na temat mapowania zakresów komunikatów, zobacz Procedury obsługi zakresów map komunikatów.
Nie ma automatycznej obsługi zakresów map komunikatów, dlatego należy samodzielnie umieścić makro.
Przykład
// The code fragment below shows how to use ON_COMMAND_RANGE macro
// to map a contiguous range of command IDs to a single message
// handler function (i.e. OnRangeCmds() in the sample below). In
// addition, it also shows how to use CheckMenuRadioItem() to check a
// selected menu item and makes it a radio item.
BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
ON_COMMAND_RANGE(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3, &CChildFrame::OnRangeCmds)
END_MESSAGE_MAP()
void CChildFrame::OnRangeCmds(UINT nID)
{
CMenu* mmenu = AfxGetMainWnd()->GetMenu();
CMenu* submenu = mmenu->GetSubMenu(5);
submenu->CheckMenuRadioItem(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3,
nID, MF_BYCOMMAND);
}
Wymagania
Nagłówek: afxmsg_.h
ON_UPDATE_COMMAND_UI_RANGE
Mapuje ciągły zakres identyfikatorów poleceń na pojedynczą funkcję obsługi komunikatów aktualizacji.
Składnia
ON_UPDATE_COMMAND_UI_RANGE( id1, id2, memberFxn )
Parametry
id1
Identyfikator polecenia na początku ciągłego zakresu identyfikatorów poleceń.
id2
Identyfikator polecenia na końcu ciągłego zakresu identyfikatorów poleceń.
memberFxn
Nazwa funkcji obsługi komunikatów aktualizacji, do której są mapowane polecenia.
Uwagi
Aktualizuj programy obsługi komunikatów aktualizują stan elementów menu i przycisków paska narzędzi skojarzonych z poleceniem. Zakres identyfikatorów zaczyna się od id1
i kończy się ciągiem id2
.
Nie ma automatycznej obsługi zakresów map komunikatów, dlatego należy samodzielnie umieścić makro.
Wymagania
Nagłówek: afxmsg_.h
ON_CONTROL_RANGE
Użyj tego makra, aby zamapować ciągły zakres identyfikatorów kontrolek na pojedynczą funkcję obsługi komunikatów dla określonego komunikatu powiadomienia systemu Windows, na przykład BN_CLICKED
.
Składnia
ON_CONTROL_RANGE( wNotifyCode, id1, id2, memberFxn )
Parametry
wNotifyCode
Kod powiadomienia, na który odpowiada program obsługi.
id1
Identyfikator polecenia na początku ciągłego zakresu identyfikatorów kontrolek.
id2
Identyfikator polecenia na końcu ciągłego zakresu identyfikatorów kontrolek.
memberFxn
Nazwa funkcji obsługi komunikatów, do której są mapowane kontrolki.
Uwagi
Zakres identyfikatorów zaczyna się od id1
i kończy się ciągiem id2
. Procedura obsługi jest wywoływana dla określonego powiadomienia pochodzącego z dowolnych zamapowanych kontrolek.
Nie ma automatycznej obsługi zakresów map komunikatów, dlatego należy samodzielnie umieścić makro.
Aby uzyskać więcej informacji na temat implementowania funkcji obsługi dla różnych identyfikatorów kontrolek, zobacz Handlers for Message-Map Ranges (Programy obsługi zakresów map komunikatów).
Wymagania
Nagłówek: afxmsg_.h
Zobacz też
ON_COMMAND
TN006: mapy komunikatów
COleCmdUI
Klasa
COleServerDoc::OnExecOleCmd
RegisterWindowMessage
Programy obsługi zdefiniowane przez użytkownika
CCmdUI
Klasa