Änderung des ATL-DHTML-Steuerelements

Den Assistenten für ATL-Objekte bietet Startcode, so können Sie erstellen und Ausführen des Steuerelements, und so können Sie sehen, wie die Methoden in den Projektdateien geschrieben werden und wie der DHTML in C++-Code des Steuerelements mithilfe der Versand-Methoden aufruft. Sie können eine Dispatch-Methode auf der Schnittstelle hinzufügen. Dann rufen Sie die Methoden in der HTML-Ressource.

Ändern Sie das ATL-DHTML-Steuerelement

  1. Erweitern Sie in der Klassenansicht das Projekt.

    Beachten Sie, dass die Schnittstelle, die auf "UI" endet eine Methode, die OnClick . Die Schnittstelle, die nicht auf "UI" endet, muss keine Methoden.

  2. Fügen Sie eine Methode namens MethodInvoked auf die Schnittstelle, die nicht auf "UI" endet

    Diese Methode wird die Schnittstelle hinzugefügt werden, das in der Steuerelementcontainer für Container Interaktion, nicht an die Schnittstelle von DHTML verwendet, um die Interaktion mit dem Steuerelement verwendet wird. Nur der Container kann diese Methode aufrufen.

  3. Suchen Sie die Stub-Out-Methode in der CPP-Datei und fügen Sie Code zum Anzeigen eines Meldungsfelds, zum Beispiel:
    :: MessageBox(NULL, "I'm invoked", "Your Container Message", MB_OK)
    
  4. Fügen Sie eine andere Methode namens HelloHTML , nur dieses Mal, fügen Sie es an die Schnittstelle, die mit "UI" endet Finden Sie die Stub-out- HelloHTML Methode in der CPP-Datei und fügen Sie Code zum Anzeigen eines Meldungsfelds, zum Beispiel:
     :: MessageBox(NULL, "Here's your message", "HelloHTML", MB_OK)
    
  5. Fügen Sie eine dritte Methode, GoToURL , auch auf die Schnittstelle endet auf "UI". Implementieren Sie diese Methode durch Aufrufen von IWebBrowser2::Navigate, wie folgt
    m_spBrowser-≫Navigate(CComBSTR("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 Ihrer Headerdatei bietet.

Als nächstes ändern Sie die HTML-Ressource, um die Methoden aufzurufen, die Sie erstellt. Fügen Sie drei Schaltflächen zum Aufrufen dieser Methoden.

Ändern Sie die HTML-Ressource

  1. Doppelklicken Sie in der Datei auf die htm-Datei zur Anzeige der HTML-Ressource.

    Überprüfen Sie den HTML-Code, vor allem die Aufrufe an das externen Windows-Versand-Methoden. Der HTML-Code Ruft des Projekts OnClick -Methode und die Parameter geben den Text des Steuerelements ( theBody ) und die Farbe zuweisen (" red "). Der Text folgt der Aufrufs des Methode ist die Bezeichnung, die auf der Schaltfläche angezeigt wird.

  2. Fügen Sie eine andere OnClick Methode, nur die Farbe ändern. Zum Beispiel:
    Lt; Br >
    <br>
    < Schaltfläche onclick='window.external.OnClick (TheBody, "weiß"); "> Aktualisieren < / BUTTON & Gt
    

    Diese Methode erstellt eine Schaltfläche, Aktualisieren, die der Benutzer klicken kann, um die Steuerung an die ursprüngliche, Weißer Hintergrund zurück.

  3. Fügen Sie den Aufruf der HelloHTML Methode, die Sie erstellt haben. Zum Beispiel:
    Lt; Br >
    <br>
    < Schaltfläche onclick='window.external.HelloHTML(); "> HelloHTML < / BUTTON & Gt
    

    Diese Methode erstellt eine Schaltfläche, mit der Bezeichnung HelloHTML, die der Benutzer klicken kann, um anzuzeigen den HelloHTML Message-Box.

  4. Schließlich, fügen Sie den Aufruf der GoToURL Methode, die Sie erstellt haben. Zum Beispiel:
    Lt; Br >
    <br>
    < Schaltfläche onclick='window.external.GoToURL(); "> WWW < / BUTTON & Gt
    

    Diese Methode erstellt eine Schaltfläche, WWW, das der Benutzer klicken kann, um die Microsoft Web-Seite im Steuerelement angezeigt.

Sie können jetzt erstellen und Testen Sie das geänderte DHTML-Steuerelement.

ATL-Unterstützung für DHTML-Steuerelemente

Index