Att anropa C++-kod från DHTML

Anmärkning

Det aktiva mallbiblioteket (ATL) stöds fortfarande. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.

En DHTML-kontroll kan finnas i en container, till exempel testcontainer eller Internet Explorer. Mer information om hur du kommer åt testcontainern finns i Testa egenskaper och händelser med testcontainer .

Containern som är värd för kontrollen kommunicerar med kontrollen med hjälp av de normala kontrollgränssnitten. DHTML använder det dispatch-gränssnitt som slutar med "UI" för att kommunicera med C++-koden och HTML-resursen. När du ändrar ATL DHTML-kontrollen kan du öva på att lägga till de metoder som ska anropas av dessa olika gränssnitt.

Om du vill se ett exempel på hur du anropar C++-kod från DHTML skapar du en DHTML-kontroll med hjälp av ATL-kontrollguiden och undersöker koden i huvudfilen och i HTML-filen.

Deklarera WebBrowser-metoder i huvudfilen

Om du vill anropa C++-metoder från DHTML-användargränssnittet måste du lägga till metoder i kontrollens gränssnitt för användargränssnittet. Rubrikfilen som skapades av ATL-kontrollguiden innehåller till exempel C++-metoden OnClick, som är medlem i användargränssnittsgränssnittet för den guidegenererade kontrollen.

Granska OnClick i kontrollens .h-fil:

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

Den första parametern , pdispBody, är en pekare till brödtextobjektets dispatch-gränssnitt. Den andra parametern, varColor, identifierar den färg som ska tillämpas på kontrollen.

Anropa C++-kod i HTML-filen

När du har deklarerat WebBrowser-metoderna i huvudfilen kan du anropa metoderna från HTML-filen. Observera i HTML-filen att ATL-kontrollguiden infogar tre Metoder för Windows-sändning: tre OnClick metoder som skickar meddelanden för att ändra kontrollens bakgrundsfärg.

Granska en av metoderna i HTML-filen:

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

I HTML-koden ovan anropas den externa metoden för fönstret, OnClick, som en del av knapptaggen. Metoden har två parametrar: theBody, som refererar till html-dokumentets brödtext och "red", som anger att kontrollens bakgrundsfärg ändras till röd när knappen klickas. Följande Red tagg är knappens etikett.

Mer information om hur du tillhandahåller egna metoder finns i Ändra ATL DHTML-kontrollen . Mer information om HTML-filen finns i Identifiera element i DHTML-kontrollprojektet .

Se även

Stöd för DHTML-kontroll