Freigeben über


Ä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

  1. 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.

  2. 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.

  3. 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);
    
  4. 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-Methode HelloHTML 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);
    
  5. 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 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

  1. 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.

  2. 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.

  3. 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.

Siehe auch

Unterstützung für DHTML-Steuerelement