Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kontrolki ActiveX używają zdarzeń do powiadamiania kontenera, że coś się stało z kontrolką. Typowe przykłady zdarzeń obejmują kliknięcia kontrolki, dane wprowadzone za pomocą klawiatury i zmiany stanu kontrolki. Po wystąpieniu tych akcji kontrolka uruchamia zdarzenie w celu alertu kontenera.
Zdarzenia są również nazywane komunikatami.
MFC obsługuje dwa rodzaje zdarzeń: standardowe i niestandardowe. Zdarzenia magazynowe to zdarzenia, które klasa COleControl obsługuje automatycznie. Aby uzyskać pełną listę zdarzeń zapasów, zobacz artykuł MFC ActiveX Controls: Adding Stock Events (Kontrolki ActiveX MFC: dodawanie zdarzeń magazynowych). Zdarzenia niestandardowe pozwalają kontrolce powiadamiać kontener o wystąpieniu akcji specyficznej dla tej kontrolki. Niektóre przykłady to zmiana stanu wewnętrznego elementu sterującego lub odebranie określonego komunikatu okna.
Aby kontrolka uruchamiała zdarzenia prawidłowo, klasa sterowania musi mapować każde zdarzenie kontrolki na funkcję składową, która powinna być wywoływana w przypadku wystąpienia powiązanego zdarzenia. Ten mechanizm mapowania (nazywany mapą zdarzeń) centralizuje informacje o zdarzeniu i umożliwia programowi Visual Studio łatwe uzyskiwanie dostępu do zdarzeń kontrolki i manipulowanie nimi. Ta mapa zdarzeń jest zadeklarowana przez następujące makro znajdujące się w nagłówku (.H) pliku deklaracji klasy sterującej.
DECLARE_EVENT_MAP()
Po zadeklarowaniu mapy zdarzeń należy ją zdefiniować w implementacji kontrolki (. Plik CPP). Następujące wiersze kodu definiują mapę zdarzeń, umożliwiając kontrolce wyzwalanie określonych zdarzeń:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()
Jeśli do utworzenia projektu zostanie użyty Kreator kontrolek ActiveX MFC, automatycznie doda te wiersze. Jeśli nie używasz Kreatora kontrolek ActiveX MFC, należy dodać te wiersze ręcznie.
Widok klasy umożliwia dodawanie standardowych zdarzeń obsługiwanych przez klasę COleControl
lub niestandardowych zdarzeń, które sam definiujesz. Dla każdego nowego zdarzenia Widok klasy automatycznie dodaje odpowiedni wpis do mapy zdarzeń kontrolki i pliku .IDL.
Dwa inne artykuły szczegółowo omawiają zdarzenia:
Zobacz także
Kontrolki ActiveX MFC
Kontrolki ActiveX MFC: metody
Klasa COleControl