Formanty ActiveX MFC: zdarzenia
Formanty ActiveX użyć zdarzenia, aby powiadomić kontener, który ma coś się stało z kontroli.Typowe przykłady zdarzeń zawierają kliknięć na kontroli, dane wprowadzone za pomocą klawiatury i zmiany w stanie tego formantu.Gdy występują te akcje, formant pożary zdarzenia alert kontenera.
Zdarzenia są również nazywane wiadomości.
MFC obsługuje dwa typy zdarzeń: podstawowy i niestandardowe.Zdarzenia zapasów są te zdarzenia, które klasy COleControl obsługuje automatycznie.Aby uzyskać pełną listę zdarzeń zapasów, zobacz artykuł formantów ActiveX MFC: dodawanie zdarzeń zapasów.Zdarzenia niestandardowe umożliwiają formantu możliwość powiadamiania kontenera po wystąpieniu akcji określone dla tego formantu.Niektóre przykłady byłaby zmiana w stan wewnętrzny formantu lub odebranie okna komunikatu.
Dla formantu na ogień zdarzenia prawidłowo Klasa sterowania musi mapować każdego zdarzenia formantu funkcji składowej, która powinna być wywołana po wystąpieniu zdarzenia powiązane.Ten mechanizm mapowania (nazywany mapą zdarzeń) umożliwia scentralizowanie informacje o zdarzeniu i pozwala Visual Studio do łatwego dostępu i manipulowania zdarzenia formantu.Ta mapa zdarzeń jest zadeklarowany przez następujące makro znajdujące się w nagłówku (.H) plik kontroli deklaracji klasy:
DECLARE_EVENT_MAP()
Po mapę zdarzeń została zadeklarowana, musi być zdefiniowana w realizacji programu kontroli (.Plik CPP).Następujące wiersze kodu zdefiniować mapę zdarzeń, pozwalające na ogień określone zdarzenia formantu:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
...
END_EVENT_MAP()
Jeśli używasz kreatora formant ActiveX MFC do tworzenia projektu, automatycznie dodaje te wiersze.Jeśli nie używasz kreatora formant ActiveX MFC, można ręcznie dodać te wiersze.
Z widoku klasy można dodać zdarzenia zapasów obsługiwanych przez klasę COleControl lub zdarzeń niestandardowych, zdefiniowanych przez użytkownika.Każde nowe zdarzenie widoku klasy automatycznie dodaje poprawnego wpisu mapy zdarzenia formantu i kontroli.Plik IDL.
Dwóch innych artykułach omówiono zdarzenia szczegółowo: