Udostępnij za pośrednictwem


Formanty MFC ActiveX: dodawanie metod niestandardowych

Niestandardowe metody różnią się od metod pień, że nie są one już wykonywane przez COleControl.Zajdzie potrzeba wykonania dla każdej z metod niestandardowych, dodawane do formantu.

Użytkownik formant ActiveX może wywołać metody niestandardowej w dowolnym momencie do wykonywania czynności specyficznych dla formantu.Wpisu mapowania wysyłki dla niestandardowych metod ma postać DISP_FUNCTION.

Dodawanie niestandardowej metody z metody Kreator dodawania

W poniższej procedurze przedstawiono Dodawanie niestandardowej metody PtInCircle do formantu ActiveX kodu szkielet.PtInCircle Określa, czy współrzędne przekazany do formantu są wewnątrz lub na zewnątrz okręgu.Tę samą procedurę można również dodać innych metod niestandardowych.Podstaw nazwę metody niestandardowej i jego parametry PtInCircle Nazwa metody i parametrów.

[!UWAGA]

W poniższym przykładzie użyto InCircle funkcji z artykułu zdarzenia.Aby uzyskać więcej informacji dotyczących tej funkcji, zobacz artykuł formantów ActiveX MFC: Dodawanie zdarzeń niestandardowych do formantu ActiveX.

Aby dodać metodę niestandardowego PtInCircle za pomocą Kreatora dodawania metody

  1. Załaduj projekt kontroli.

  2. W widoku klasy rozwiń węzeł Biblioteka pilota.

  3. Kliknij prawym przyciskiem myszy węzeł interfejsu kontrolnej (drugiego węzła węzeł biblioteki), aby otworzyć menu skrótów.

  4. W menu skrótów kliknij polecenie Dodaj i kliknij przycisk Dodaj metodę.

    Spowoduje to otwarcie Kreatora dodawania metody.

  5. W Nazwa metody wpisz PtInCircle.

  6. W Wewnętrznej nazwy wpisz nazwę funkcji wewnętrznej metoda lub użyj domyślnej wartości (w tym przypadku, PtInCircle).

  7. W Zwrócony typ kliknij przycisk VARIANT_BOOL dla typ wartości zwracanej przez metodę.

  8. Za pomocą Typ parametru i Nazwa parametru formanty, należy dodać parametr o nazwie xCoord (typ OLE_XPOS_PIXELS).

  9. Za pomocą Typ parametru i Nazwa parametru formanty, należy dodać parametr o nazwie yCoord (typ OLE_YPOS_PIXELS).

  10. Kliknij Zakończ.

Dodaj metodę kreatora zmiany dla niestandardowych metod

Po dodaniu niestandardowej metody Kreatora dodawania metoda wprowadzono kilka zmian do nagłówka kontroli klasy (.H) i realizacji (.Pliki CPP).Następujący wiersz jest dodawany do zgłoszenia do wysyłki mapę w nagłówku klasy formantu (.H) plik:

VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);

Ten kod deklaruje Obsługa metody wysyłki, o nazwie PtInCircle.Ta funkcja może zostać wywołana przez użytkownika sterowania przy użyciu nazw zewnętrznych PtInCircle.

Następujący wiersz jest dodawany 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 w pozycji na liście kreatora metoda dodawania metod i właściwości.Ponieważ Kreator dodawania metoda została użyta Aby dodać niestandardową metodę, wejścia dla niej w projekcie został dodany automatycznie.Plik IDL.

Ponadto następujący wiersz znajdujący się w realizacji (.Plik CPP) klasy formantu zostanie dodany do formantu mapy wysyłki:

DISP_FUNCTION_ID(CMyAxUICtrl, "PtInCircle", dispidPtInCircle, PtInCircle, VT_BOOL, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)

DISP_FUNCTION Makro mapuje do funkcji obsługi formantu, metoda PtInCircle PtInCircle, deklaruje typ zwracany za VARIANT_BOOLi deklaruje dwa parametry typu VTS_XPOS_PIXELS i VTS_YPOSPIXELS mają być przekazywane do PtInCircle.

Wreszcie, Kreator dodawania metoda dodaje funkcję skrótowej CSampleCtrl::PtInCircle do końca realizacji formantu (.Plik CPP).Dla PtInCircle funkcjonować jak wspomniano wcześniej, to musi być zmodyfikowana w następujący sposób:

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

Widok klas i Przeglądarka obiektów ― Ikony

Koncepcje

Formanty MFC ActiveX