Ein DHTML-Steuerelement ähnelt einer ATL-Steuerelement, mit Ausnahme:
Zusätzlich zu den regulären Schnittstellen, den, die ein Steuerelement implementiert, implementiert eine zusätzliche Schnittstelle, die verwendet wird, um die Kommunikation zwischen dem C++-Code und der HTML-Benutzeroberfläche (UI). Der HTML-Benutzeroberfläche aufruft C++-Code mithilfe dieser Schnittstelle.
Es erstellt eine HTML-Ressource für das UI-Steuerelement.
Es ermöglicht den Zugriff auf das DHTML-Objektmodell über die Membervariable m_spBrowser , die ist ein intelligenter Zeiger vom Typ IWebBrowser2. Verwenden Sie this-Zeiger, um einen Teil des DHTML-Objektmodells zuzugreifen.
Prüfung der Elemente des DHTML-Steuerelementprojekts
Die folgende Grafik veranschaulicht die Beziehung zwischen Ihre DLL, das DHTML-Steuerelement, der Web-Browser und der HTML-Ressource.
Hinweis&Nbsp; Die Namen auf dieser Grafik sind Platzhalter. Die Namen der HTML-Ressource und die für das Steuerelement verfügbar gemachten Schnittstellen basieren auf den Namen, den, die Sie sie in den Assistenten für ATL-Objekte zuweisen.
In dieser Grafik sind die Elemente:
Meine DLL&Nbsp; Die DLL mit der Anwendungs-Assistent erstellt.
DHTML-Steuerelement ( m_spBrowser ) &Nbsp; Das DHTML-Steuerelement mit dem ATL-Objekt-Assistenten erstellt. Dieses Steuerelement auf das Web Browser-Objekt und seine Methoden über das Web Browser-Objekt Schnittstelle IWebBrowser2zugreift. Das Steuerelement selbst stellt die folgenden zwei Schnittstellen, zusätzlich zu den anderen standard-Schnittstellen benötigt für ein Steuerelement.
IDHCTL1&Nbsp; Die Schnittstelle, die vom Steuerelement für die Verwendung nur durch den container.
IDHCTLUI1&Nbsp; Die Dispatch-Schnittstelle für die Kommunikation zwischen dem C++-Code und der HTML-Benutzeroberfläche. Der Webbrowser verwendet das Steuerelement-Dispatchschnittstelle zum Anzeigen des Steuerelements. Können Sie verschiedene Methoden dieser Schnittstelle Versand von Benutzeroberfläche des Steuerelements durch Aufrufen von window.external , gefolgt von den Namen der Methode auf diese Dispatch-Schnittstelle, die Sie aufrufen möchten. Sie zugreifen würden window.external aus einem Skript-Tag in der HTML-Code, die die Benutzeroberfläche für dieses Steuerelement macht. Weitere Informationen zum Aufrufen externer Methods in der Ressourcendatei finden Sie unter Aufrufen von C++-Code aus DHTML.
IDR_CTL1&Nbsp; Die Ressourcen-ID der HTML-Ressource. Der Dateiname ist in diesem Fall DHCTL1UI.htm. Das DHTML-Steuerelement verwendet eine HTML-Ressource, die enthält HTML-Standardtags und Außenfenster Versand Befehle, die mit den Text-Editor bearbeitet werden kann.
Web-Browser&Nbsp; Der Webbrowser zeigt die Benutzeroberfläche des Steuerelements, auf der Grundlage von HTML in der HTML-Ressource. Ein Zeiger auf den Web-Browser IWebBrowser2 -Schnittstelle ist im DHTML-Steuerelement für den Zugriff auf das DHTML-Objektmodell verfügbar.
Der ATL-Objekt-Assistent generiert ein Steuerelement mit Standardcode in der HTML-Ressource und der CPP-Datei. Sie können kompilieren und führen Sie das Steuerelement als vom Assistenten generiert wird und dann das Steuerelement im Testcontainer oder Web-Browser anzeigen. Das Bild unten zeigt die standardmäßige ATL DHTML-Steuerelement mit drei Schaltflächen angezeigt im Testcontainer: