Udostępnij za pośrednictwem


Modyfikowanie kontrolki DHTML ATL

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 oraz jak wywołania DHTML do kodu C++ kontrolki przy użyciu metod wysyłania. 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 sterujący.

    Zwróć uwagę, że interfejs kończący się na "interfejsie użytkownika" 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 metod wysyłania zewnętrznego systemu 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 do utworzonej HelloHTML metody. 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