Ändra ATL DHTML-kontrollen

Anmärkning

Det aktiva mallbiblioteket (ATL) stöds fortfarande. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.

ATL-kontrollguiden innehåller startkod så att du kan skapa och köra kontrollen, så att du kan se hur metoderna skrivs i projektfilerna och hur DHTML anropar kontrollens C++-kod med hjälp av sändningsmetoderna. Du kan lägga till valfri dispatch-metod i gränssnittet. Sedan kan du anropa metoderna i HTML-resursen.

Ändra ATL DHTML-kontrollen

  1. Expandera kontrollprojektet i klassvyn.

    Observera att gränssnittet som slutar i "användargränssnittet" har en metod, OnClick. Gränssnittet som inte slutar med "användargränssnittet" har inga metoder.

  2. Lägg till en metod som anropas MethodInvoked i gränssnittet som inte slutar med "användargränssnittet".

    Den här metoden läggs till i gränssnittet som används i kontrollcontainern för containerinteraktion, inte till det gränssnitt som används av DHTML för att interagera med kontrollen. Endast containern kan anropa den här metoden.

  3. Hitta metoden stubbed-out i filen .cpp och lägg till kod för att visa en meddelanderuta, till exempel:

    ::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
    
  4. Lägg till en annan metod med namnet HelloHTML, bara den här gången, lägga till den i gränssnittet som slutar i "UI". Hitta metoden stubbed-out HelloHTML i filen .cpp och lägg till kod för att visa en meddelanderuta, till exempel:

    ::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
    
  5. Lägg till en tredje metod, GoToURL, i gränssnittet som inte slutar med "användargränssnittet". Implementera den här metoden genom att anropa IWebBrowser2::Navigate enligt följande:

    m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
    

    Du kan använda IWebBrowser2 metoderna eftersom ATL ger en pekare till gränssnittet åt dig i .h-filen.

Ändra sedan HTML-resursen så att den anropar de metoder som du skapade. Du lägger till tre knappar för att anropa dessa metoder.

Ändra HTML-resursen

  1. Dubbelklicka på filen .htm i Solution Explorer för att visa HTML-resursen.

    Granska HTML-koden, särskilt anropen till de externa Windows-sändningsmetoderna. HTML-koden anropar projektets metod och parametrarna anger kontrollens brödtext (OnClick) och färgen som ska tilldelas theBody ("red"). Texten efter metodanropet är etiketten som visas på knappen.

  2. Lägg till en annan OnClick metod, ändra bara färgen. Till exempel:

    <br>
    <br>
    <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
    

    Den här metoden skapar en knapp med etiketten Uppdatera, som användaren kan klicka på för att returnera kontrollen till den ursprungliga vita bakgrunden.

  3. Lägg till anropet till den HelloHTML metod som du skapade. Till exempel:

    <br>
    <br>
    <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
    

    Den här metoden skapar en knapp med etiketten HelloHTML som användaren kan klicka på för att visa HelloHTML meddelanderutan.

Nu kan du skapa och testa den ändrade DHTML-kontrollen.

Se även

Stöd för DHTML-kontroll