Formanty MFC ActiveX: metody
Formant ActiveX pożary zdarzeń do komunikowania się między sobą i jego formantu kontenera.Kontener może również komunikować się z formantu za pomocą metod i właściwości.Metody są również nazywane funkcjami.
Metody i właściwości pośredniczenia eksportowanych do użytku przez inne aplikacje, takie jak klienci automatyzacji i pojemniki formantu ActiveX.Aby uzyskać więcej informacji na temat właściwości formantu ActiveX, zobacz artykuł formantów ActiveX MFC: właściwości.
Metody są podobne w użytku i cel do funkcji elementów członkowskich klasy języka C++.Istnieją dwa typy metod kontrolę można zaimplementować: czas i własne.Podobne do zdarzenia pień, pień metody są te metody, dla której COleControl dostarcza implementację.Więcej informacji na temat metod pień, zobacz artykuł formantów ActiveX MFC: dodawanie metod zapasów.Niestandardowe metody zdefiniowane przez dewelopera, można dostosowywać dodatkowej kontroli.Aby uzyskać więcej informacji, zobacz artykuł formantów ActiveX MFC: Dodawanie niestandardowych metod.
Microsoft Foundation Class biblioteki (MFC) implementuje mechanizm, który pozwala pilota do obsługi fotografii i niestandardowych metod.Pierwsza część jest klasa COleControl.Pochodzący z CWnd, COleControl funkcje składowe obsługuje metody zapasów, które są wspólne dla wszystkich formantów ActiveX.Druga część tego mechanizmu jest mapa wysyłki.Mapa wysyłki jest podobne do mapy wiadomości; Jednak zamiast funkcji mapowania identyfikatora komunikatu systemu Windows, mapa wysyłki mapy funkcji wirtualnych elementów członkowskich do identyfikatorów interfejsu IDispatch.
Dla formantu do obsługi różnych metod prawidłowo jego klasy należy zadeklarować mapę wysyłki.Można to osiągnąć przez następujący wiersz kodu znajduje się w nagłówku klasy formantu (.H) plik:
DECLARE_DISPATCH_MAP()
Głównym celem mapę wysyłki jest ustanowienie relacji między nazwami metoda używana przez zewnętrznego wywołującego (na przykład kontenera) i funkcji elementów członkowskich formantu klasy, które implementują metody.Po mapie wysyłki został zadeklarowany, musi być zdefiniowane w implementacji formantu (.Plik CPP).Następujące wiersze kodu zdefiniować mapowanie wysyłki:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
Jeśli użyto Kreatora formantów ActiveX MFC Aby utworzyć projekt, wiersze te były dodawane automatycznie.Jeśli nie użyto Kreatora formantów ActiveX MFC, możesz ręcznie dodać te linie.
W następujących artykułach omówiono metody szczegółowo: