Formanty ActiveX MFC: Dodawanie metod niestandardowych
Niestandardowych metod różnią się od metod zapasów, nie są one już wykonywane przez COleControl.Należy podać wprowadzenia w życie dla każdej metody niestandardowe, dodany do formantu.
Użytkownik formantu ActiveX można wywołać metody niestandardowe w dowolnym momencie na przeprowadzenie szczegółowych kontroli działań.Wpis mapy wysyłki dla niestandardowych metod ma postać DISP_FUNCTION.
Dodanie metody niestandardowe z metody Kreatora dodawania
W poniższej procedurze przedstawiono, dodając niestandardowe metody PtInCircle do kodu szkielet formantu ActiveX.PtInCircle Określa, czy współrzędne przekazany do kontroli są wewnątrz lub na zewnątrz okręgu.Tę samą procedurę można również dodać inne metody niestandardowe.Podstaw nazwę metody niestandardowe i jego parametrów PtInCircle nazwy metody i parametrów.
[!UWAGA]
W tym przykładzie InCircle funkcji z artykułu zdarzenia.Aby uzyskać więcej informacji o tej funkcji, zobacz artykuł formantów ActiveX MFC: Dodawanie zdarzenia niestandardowego do formantu ActiveX.
Aby dodać niestandardowe metody PtInCircle za pomocą Kreatora dodawania metody
Załadować formantu projektu.
W widoku klasy rozwiń węzeł Biblioteka formantu.
Kliknij prawym przyciskiem myszy węzeł interfejsu dla formantu (drugiego węzła węzeł biblioteki), aby otworzyć menu skrótów.
W menu skrótów kliknij polecenie Dodaj i kliknij przycisk Dodaj metodę.
Zostanie otwarty Kreator dodawania metody.
W Nazwa metody wpisz PtInCircle.
W Wewnętrznej nazwy wpisz nazwę metody, funkcja wewnętrznego lub używać wartości domyślnej (w tym przypadku PtInCircle).
W Zwraca typ kliknij VARIANT_BOOL dla typu powrotu metody.
Za pomocą Typ parametru i Nazwa parametru formanty, dodać parametr o nazwie xCoord (typu OLE_XPOS_PIXELS).
Za pomocą Typ parametru i Nazwa parametru formanty, dodać parametr o nazwie yCoord (typu OLE_YPOS_PIXELS).
Kliknij Zakończ.
Dodaj metodę Kreator zmiany dla metody niestandardowe
Podczas dodawania niestandardowych metoda Kreatora dodawania metody powoduje pewne zmiany do nagłówka kontroli klasy (.H) i wykonywania (.Pliki CPP).Dodaje się następujący wiersz do zgłoszenia do wysyłki mapę w nagłówku klasy formantu (.H) pliku:
VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
Ten kod deklaruje obsługi metody wysyłki, o nazwie PtInCircle.Ta funkcja może wywołana przez użytkownika formantu przy użyciu nazwy zewnętrznego PtInCircle.
Dodaje się następujący wiersz do formantu.Plik IDL:
[id(1), helpstring("method PtInCircle")] VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
Ten wiersz przypisuje metodę PtInCircle określonego numeru ID metody pozycji na liście kreatora metoda dodawania metod i właściwości.Ponieważ Kreator dodawania metody został użyte metody niestandardowe, wejścia dla niej był automatycznie dodawany do projektu.Plik IDL.
Ponadto następujący wiersz znajdujący się w realizacji (.Plik CPP) klasy formantu zostanie dodany do formantu wysyłki mapy:
DISP_FUNCTION_ID(CMyAxUICtrl, "PtInCircle", dispidPtInCircle, PtInCircle, VT_BOOL, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)
DISP_FUNCTION Makro mapuje metody PtInCircle do funkcji obsługi kontroli, PtInCircle, deklaruje typ zwracany za VARIANT_BOOLi deklaruje dwa parametry typu VTS_XPOS_PIXELS i VTS_YPOSPIXELS do PtInCircle.
Wreszcie, Kreator dodawania metody dodaje funkcję skrótowej CSampleCtrl::PtInCircle na dole formantu realizacji (.Plik CPP).Dla PtInCircle do działania, jak wspomniano wcześniej, to musi wprowadza się:
VARIANT_BOOL CMyAxUICtrl::PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CPoint point(xCoord, yCoord);
return InCircle(point);
}
Zobacz też
Informacje
Klasa widoku i ikony przeglądarki obiektów