Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Die aktive Vorlagenbibliothek (ACTIVE Template Library, ATL) wird weiterhin unterstützt. Wir fügen jedoch keine Features mehr hinzu oder aktualisieren die Dokumentation.
Der ATL-Steuerelement-Assistent stellt Startcode bereit, sodass Sie das Steuerelement erstellen und ausführen können, und so können Sie sehen, wie die Methoden in den Projektdateien geschrieben werden und wie der DHTML-Code mithilfe der Verteilermethoden in den C++-Code des Steuerelements aufruft. Sie können der Schnittstelle eine beliebige Verteilermethode hinzufügen. Anschließend können Sie die Methoden in der HTML-Ressource aufrufen.
So ändern Sie das ATL-DHTML-Steuerelement
In der Klassenansicht erweitern Sie das Steuerungsprojekt.
Beachten Sie, dass die Schnittstelle, die auf "UI" endet, über eine Methode verfügt.
OnClickDie Schnittstelle, die nicht auf "UI" endet, besitzt keine Methoden.Fügen Sie eine Methode namens
MethodInvokedzur Schnittstelle hinzu, die nicht auf "UI" endet.Diese Methode wird der Schnittstelle hinzugefügt, die im Steuerelementcontainer für die Containerinteraktion verwendet wird, nicht der Schnittstelle, die von DHTML für die Interaktion mit dem Steuerelement verwendet wird. Nur der Container kann diese Methode aufrufen.
Suchen Sie die stubbed-out-Methode in der .cpp-Datei, und fügen Sie Code hinzu, um ein Meldungsfeld anzuzeigen, z. B.:
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);Fügen Sie eine weitere Methode namens
HelloHTMLhinzu, aber fügen Sie sie dieses Mal der Schnittstelle hinzu, die auf "UI" endet. Suchen Sie die MethodeHelloHTML, die in der .cpp-Datei nur als Platzhalter existiert, und fügen Sie Code hinzu, um ein Meldungsfeld anzuzeigen, z. B.:::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);Fügen Sie der Schnittstelle, die nicht auf "UI" endet,
GoToURLeine dritte Methode hinzu. Implementieren Sie diese Methode, indem Sie IWebBrowser2::Navigate wie folgt aufrufen:m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);Sie können die
IWebBrowser2Methoden verwenden, da ATL einen Zeiger auf diese Schnittstelle für Sie in der H-Datei bereitstellt.
Ändern Sie als Nächstes die HTML-Ressource, um die von Ihnen erstellten Methoden aufzurufen. Sie fügen drei Schaltflächen zum Aufrufen dieser Methoden hinzu.
So ändern Sie die HTML-Ressource
In Solution Explorer doppelklicken Sie auf die .htm-Datei, um die HTML-Ressource anzuzeigen.
Untersuchen Sie den HTML-Code, insbesondere die Aufrufe der externen Windows-Verteilermethoden. Der HTML-Code ruft die Methode des Projekts auf, und die Parameter geben den Textkörper des Steuerelements
OnClick(theBody) und die Farbe an, die zugewiesen werden soll ("red"). Der Text nach dem Methodenaufruf ist die Bezeichnung, die auf der Schaltfläche angezeigt wird.Fügen Sie eine weitere
OnClickMethode hinzu, ändern Sie nur die Farbe. Zum Beispiel:<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>Mit dieser Methode wird eine Schaltfläche mit der Bezeichnung "Aktualisieren" erstellt, auf die der Benutzer klicken kann, um das Steuerelement an den ursprünglichen weißen Hintergrund zurückzugeben.
Fügen Sie den Aufruf der Methode
HelloHTML, die Sie erstellt haben, hinzu. Zum Beispiel:<br> <br> <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>Mit dieser Methode wird eine Schaltfläche mit der Bezeichnung HelloHTML erstellt, auf die der Benutzer klicken kann, um das
HelloHTMLMeldungsfeld anzuzeigen.
Sie können jetzt das geänderte DHTML-Steuerelement erstellen und testen.