Udostępnij za pośrednictwem


Wywoływanie kodu C++ z elementu DHTML

Kontrolka DHTML może być hostowana w kontenerze, takim jak Kontener testów lub Internet Explorer. Aby uzyskać informacje na temat uzyskiwania dostępu do kontenera testowego, zobacz Testowanie właściwości i zdarzeń za pomocą kontenera testowego.

Kontener obsługujący kontrolkę komunikuje się z kontrolką przy użyciu normalnych interfejsów sterowania. Język DHTML używa interfejsu wysyłania kończącego się "interfejsem użytkownika" do komunikowania się z kodem C++ i zasobem HTML. W modyfikowaniu kontrolki DHTML ATL można przećwiczyć dodawanie metod, które mają być wywoływane przez te różne interfejsy.

Aby zobaczyć przykład wywoływania kodu C++ z DHTML, utwórz kontrolkę DHTML przy użyciu Kreatora kontrolek ATL i zbadaj kod w pliku nagłówkowym i w pliku HTML.

Deklarowanie metod WebBrowser w pliku nagłówka

Aby wywołać metody języka C++ z interfejsu użytkownika DHTML, należy dodać metody do interfejsu użytkownika kontrolki. Na przykład plik nagłówkowy utworzony przez Kreatora kontrolek ATL zawiera metodę OnClickjęzyka C++, która jest elementem członkowskim interfejsu użytkownika kontrolki wygenerowanej przez kreatora.

Sprawdź OnClick w pliku h kontrolki:

STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)

Pierwszy parametr , pdispBody, jest wskaźnikiem do interfejsu wysyłania obiektu treści. Drugi parametr varColor identyfikuje kolor, który ma być stosowany do kontrolki.

Wywoływanie kodu C++ w pliku HTML

Po zadeklarowaniu metod WebBrowser w pliku nagłówka można wywołać metody z pliku HTML. Zwróć uwagę, że w pliku HTML Kreator sterowania ATL wstawia trzy metody wysyłania systemu Windows: trzy OnClick metody wysyłania komunikatów w celu zmiany koloru tła kontrolki.

Zbadaj jedną z metod w pliku HTML:

<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>

W powyższym kodzie HTML metoda OnClickzewnętrzna okna , jest wywoływana jako część tagu przycisku. Metoda ma dwa parametry: theBody, która odwołuje się do treści dokumentu HTML i "red", co wskazuje, że kolor tła kontrolki zostanie zmieniony na czerwony po kliknięciu przycisku. Poniższy Red tag to etykieta przycisku.

Aby uzyskać więcej informacji na temat udostępniania własnych metod, zobacz Modyfikowanie kontrolki DHTML ATL. Aby uzyskać więcej informacji na temat pliku HTML, zobacz Identyfikowanie elementów projektu formantu DHTML.

Zobacz też

Obsługa formantu DHTML