Ändern des ATL-DHTML-Steuerelements
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
Erweitern Sie in der Klassenansicht das Steuerelementprojekt.
Beachten Sie, dass die Schnittstelle, die auf "UI" endet, über eine Methode verfügt.
OnClick
Die Schnittstelle, die nicht auf "UI" endet, besitzt keine Methoden.Fügen Sie eine Methode hinzu, die der Schnittstelle aufgerufen
MethodInvoked
wird, 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 hinzu, die nur dieses Mal aufgerufen wird
HelloHTML
, fügen Sie sie der Schnittstelle hinzu, die auf "UI" endet. Suchen Sie die stubbed-out-MethodeHelloHTML
in der CPP-Datei, 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,
GoToURL
eine 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
IWebBrowser2
Methoden 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
Doppelklicken Sie in Projektmappen-Explorer 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
OnClick
Methode hinzu, ändern Sie nur die Farbe. 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
HelloHTML
von Ihnen erstellten Methode hinzu. 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
HelloHTML
Meldungsfeld anzuzeigen.
Sie können jetzt das geänderte DHTML-Steuerelement erstellen und testen.