Zdarzenie mapy

Zawsze, gdy formant pragnie powiadomić jego kontener, w którym niektóre działania (określone przez autora kontroli) stało się (takich jak naciśnięcie klawisza, kliknięcie przyciskiem myszy lub zmianę Państwu formantu) wywołuje funkcję inicjowanie zdarzeń. Ta funkcja powiadamia kontener sterowania, w którym niektóre ważne działanie miało miejsce przez wyzwalania zdarzenia.

Biblioteka klas Fundacji Microsoft oferuje model programowania, zoptymalizowany do wyzwalania zdarzenia. W tym modelu "zdarzenie mapy" są stosowane do wyznaczenia, które funkcje ognia zdarzenia, które dla określonego formantu. Mapy zdarzeń zawierają jedno makro dla każdego zdarzenia. Przykład mapę zdarzeń, że pożary zapasów zdarzenie Click może wyglądać tak:

BEGIN_EVENT_MAP (CSampleCtrl, COleControl)
   //{{AFX_EVENT_MAP(CSampleCtrl)
   (EVENT_STOCK_CLICK)
   //}}AFX_EVENT_MAP
END_EVENT_MAP()

Makro EVENT_STOCK_CLICK wskazuje, że formant zostanie wywołane zapasów zdarzenie Click za każdym razem, gdy wykryje kliknięcie myszą. Aby uzyskać bardziej szczegółową listą innych zapasów zdarzeń, zobacz artykuł formantów ActiveX: zdarzenia w Visual C++ Programmer's Guide. Makra są również dostępne w celu wskazania zdarzenia niestandardowego.

Mimo, że zdarzenie Mapa makra są ważne, zwykle nie wstawianiu ich bezpośrednio. Jest to spowodowane ClassWizard automatycznie tworzy mapę zdarzenia wpisów w plikach źródłowych podczas używania go powiązać zdarzenie opalanych funkcje ze zdarzeniami. Czas, który chcesz edytować lub dodać wpis zdarzenia Mapa, można użyć ClassWizard.

Do obsługi zdarzeń mapy, MFC zapewnia następujące makra:

Zdarzenie mapę deklaracji i rozgraniczenia

DECLARE_EVENT_MAP Oświadcza, że mapą zdarzeń będzie używany w klasie mapowania zdarzeń do funkcji inicjowanie zdarzeń (musi być używany w deklaracji klasy).
BEGIN_EVENT_MAP Rozpoczyna się definicję mapą zdarzeń (musi być używany w implementacji klasy).
END_EVENT_MAP Kończy definicję mapą zdarzeń (musi być używany w implementacji klasy).

Makra mapowania zdarzeń

EVENT_CUSTOM Wskazuje, która funkcja inicjowanie zdarzeń zostanie wywołane zdarzenia.
EVENT_CUSTOM_ID Wskazuje, która funkcja inicjowanie zdarzeń zostanie wywołane określonego zdarzenia o identyfikatorze wyznaczonych wysyłki.

Komunikat mapowania makra

ON_OLEVERB Wskazuje niestandardowy czasowniki obsługiwane przez formant OLE.
ON_STDOLEVERB Zastępuje mapowanie zlecenie standardowe formantu OLE.

Index