Freigeben über


Identifizieren von Elementen des DHTML-Steuerelementprojekts

Der meiste DHTML-Steuerelementcode ist genau so, wie er für jedes ATL-Steuerelement erstellt wurde. Ein grundlegendes Verständnis des generischen Codes finden Sie im ATL-Lernprogramm, und lesen Sie die Abschnitte Erstellen eines ATL-Projekts und Grundlagen von ATL-COM-Objekten.

Ein DHTML-Steuerelement ähnelt jedem ATL-Steuerelement, außer:

  • Zusätzlich zu den regulären Schnittstellen implementiert ein Steuerelement eine zusätzliche Schnittstelle, die für die Kommunikation zwischen dem C++-Code und der HTML-Benutzeroberfläche verwendet wird. Die HTML-Benutzeroberfläche ruft mit dieser Schnittstelle in C++-Code auf.

  • Es erstellt eine HTML-Ressource für die Steuerelement-UI.

  • Er ermöglicht den Zugriff auf das DHTML-Objektmodell über die Membervariable m_spBrowser, bei der es sich um einen intelligenten Zeiger vom Typ IWebBrowser2 handelt. Verwenden Sie diesen Zeiger, um auf einen beliebigen Teil des DHTML-Objektmodells zuzugreifen.

Die folgende Grafik veranschaulicht die Beziehung zwischen ihrer DLL, dem DHTML-Steuerelement, dem Webbrowser und der HTML-Ressource.

Diagram of the elements of a DHTML control project.

Hinweis

Die Namen dieser Grafik sind Platzhalter. Die Namen Ihrer HTML-Ressource und der schnittstellen, die für Ihr Steuerelement verfügbar gemacht werden, basieren auf den Namen, die Sie ihnen im ATL-Steuerelement-Assistenten zuweisen.

In dieser Grafik sind die Elemente:

  • Meine DLL Die DLL, die mit dem ATL-Projekt-Assistenten erstellt wurde.

  • DHTML-Steuerelement (m_spBrowser) Das DHTML-Steuerelement, das mit dem ATL-Objekt-Assistenten erstellt wurde. Dieses Steuerelement greift auf das Webbrowserobjekt und seine Methoden über die Schnittstelle IWebBrowser2des Webbrowserobjekts zu. Das Steuerelement selbst macht die folgenden beiden Schnittstellen zusätzlich zu den anderen Standardschnittstellen verfügbar, die für ein Steuerelement erforderlich sind.

    • IDHCTL1 Die Schnittstelle, die vom Steuerelement zur Verwendung nur vom Container verfügbar gemacht wird.

    • IDHCTLUI1 Die Dispatch-Schnittstelle für die Kommunikation zwischen dem C++-Code und der HTML-Benutzeroberfläche. Der Webbrowser verwendet die Verteilerschnittstelle des Steuerelements, um das Steuerelement anzuzeigen. Sie können verschiedene Methoden dieser Verteilerschnittstelle über die Benutzeroberfläche window.externaldes Steuerelements aufrufen, gefolgt vom Methodennamen auf dieser Dispatch-Schnittstelle, die Sie aufrufen möchten. Sie würden über ein SCRIPT-Tag innerhalb des HTML-Codes zugreifen window.external , aus dem die Benutzeroberfläche für dieses Steuerelement besteht. Weitere Informationen zum Aufrufen externer Methoden in der Ressourcendatei finden Sie unter Aufrufen von C++-Code aus DHTML.

  • IDR_CTL1 Die Ressourcen-ID der HTML-Ressource. Der Dateiname ist in diesem Fall DHCTL1UI.htm. Das DHTML-Steuerelement verwendet eine HTML-Ressource, die Standard-HTML-Tags und Befehle für externe Fensterverteiler enthält, die Sie mit dem Text-Editor bearbeiten können.

  • Webbrowser Der Webbrowser zeigt die Benutzeroberfläche des Steuerelements basierend auf dem HTML-Code in der HTML-Ressource an. Ein Zeiger auf die Schnittstelle des Webbrowsers IWebBrowser2 ist im DHTML-Steuerelement verfügbar, um den Zugriff auf das DHTML-Objektmodell zu ermöglichen.

Der ATL-Steuerelement-Assistent generiert ein Steuerelement mit Standardcode sowohl in der HTML-Ressource als auch in der CPP-Datei. Sie können das Steuerelement kompilieren und ausführen, wie vom Assistenten generiert, und dann das Steuerelement im Webbrowser oder im ActiveX-Steuerelementtestcontainer anzeigen. Die folgende Abbildung zeigt das STANDARDMÄßIGe ATL DHTML-Steuerelement mit drei Schaltflächen, die im Testcontainer angezeigt werden:

ATL DHTML control.

Informationen zum Erstellen eines DHTML-Steuerelements finden Sie unter Erstellen eines ATL-DHTML-Steuerelements . Informationen zum Zugreifen auf testcontainer finden Sie unter Testen von Eigenschaften und Ereignissen mit Testcontainer .

Siehe auch

Unterstützung für DHTML-Steuerelement