Modyfikowanie kontrolki DHTML ATL

Uwaga / Notatka

Aktywna biblioteka szablonów (ATL) nadal jest obsługiwana. Nie dodajemy już funkcji ani nie aktualizujemy dokumentacji.

Kreator kontrolek ATL udostępnia kod początkowy, dzięki czemu można skompilować i uruchomić kontrolkę oraz zobaczyć, jak metody są zapisywane w plikach projektu. Ponadto, można zrozumieć, jak wywołania DHTML są kierowane do kodu C++ kontrolki za pomocą metod dyspozytorskich. Do interfejsu można dodać dowolną metodę wysyłania. Następnie można wywołać metody w zasobie HTML.

Aby zmodyfikować kontrolkę DHTML ATL

  1. W Widoku klasy rozwiń projekt sterowania.

    Zwróć uwagę, że interfejs kończący się na "UI" ma jedną metodęOnClick. Interfejs, który nie kończy się na "interfejsie użytkownika", nie ma żadnych metod.

  2. Dodaj metodę o nazwie MethodInvoked do interfejsu, która nie kończy się na "interfejsie użytkownika".

    Ta metoda zostanie dodana do interfejsu, który jest używany w kontenerze sterowania do interakcji kontenera, a nie do interfejsu używanego przez DHTML do interakcji z kontrolką. Tylko kontener może wywołać tę metodę.

  3. Znajdź metodę stubbed-out w pliku .cpp i dodaj kod, aby wyświetlić pole komunikatu, na przykład:

    ::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
    
  4. Dodaj kolejną metodę o nazwie HelloHTML, tylko tym razem dodaj ją do interfejsu kończącego się na "interfejsie użytkownika". Znajdź metodę stubbed-out HelloHTML w pliku .cpp i dodaj kod, aby wyświetlić pole komunikatu, na przykład:

    ::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
    
  5. Dodaj trzecią metodę , GoToURLdo interfejsu, który nie kończy się na "interfejsie użytkownika". Zaimplementuj tę metodę, wywołując metodę IWebBrowser2::Navigate w następujący sposób:

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

    Można użyć IWebBrowser2 metod, ponieważ ATL udostępnia wskaźnik do tego interfejsu w pliku h.

Następnie zmodyfikuj zasób HTML, aby wywołać utworzone metody. Dodasz trzy przyciski do wywoływania tych metod.

Aby zmodyfikować zasób HTML

  1. W Eksplorator rozwiązań kliknij dwukrotnie plik .htm, aby wyświetlić zasób HTML.

    Sprawdź kod HTML, szczególnie wywołania zewnętrznych metod w systemie Windows. Kod HTML wywołuje metodę projektu OnClick , a parametry wskazują treść kontrolki (theBody) i kolor do przypisania ("red"). Tekst po wywołaniu metody to etykieta wyświetlana na przycisku.

  2. Dodaj inną OnClick metodę, zmieniając tylko kolor. Na przykład:

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

    Ta metoda utworzy przycisk z etykietą Odśwież, który użytkownik może kliknąć, aby przywrócić kontrolkę do oryginalnego, białego tła.

  3. Dodaj wywołanie metody HelloHTML, którą utworzyłeś. Na przykład:

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

    Ta metoda utworzy przycisk z etykietą HelloHTML, który użytkownik może kliknąć, aby wyświetlić okno komunikatu HelloHTML .

Teraz możesz skompilować i przetestować zmodyfikowaną kontrolkę DHTML.

Zobacz też

Obsługa formantu DHTML