Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
W widoku klasy rozwiń projekt sterujący.
Zwróć uwagę, że interfejs kończący się na "interfejsie użytkownika" ma jedną metodę .
OnClickInterfejs, 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 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.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 do utworzonej
HelloHTMLmetody. 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.