Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
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.Dodaj metodę o nazwie
MethodInvokeddo 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ę.
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);Dodaj kolejną metodę o nazwie
HelloHTML, tylko tym razem dodaj ją do interfejsu kończącego się na "interfejsie użytkownika". Znajdź metodę stubbed-outHelloHTMLw pliku .cpp i dodaj kod, aby wyświetlić pole komunikatu, na przykład:::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);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ć
IWebBrowser2metod, 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
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.Dodaj inną
OnClickmetodę, 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.
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.