Umieszczanie kontrolki na stronie sieci Web (ALT — Samouczek, część 7)
Formant jest już ukończona.Aby zobaczyć swój formant działający w sytuacji rzeczywistej, umieścić go na stronie sieci Web.Plik HTML, który zawiera formant, został utworzony po zdefiniowaniu formantu.Otwórz plik PolyCtl.htm z Eksploratora rozwiązań i zobaczysz swój formant na stronie sieci Web.
W tym kroku zostanie utworzony skrypt strony sieci Web w celu reagowania na zdarzenia.Zmodyfikujesz również formant, aby pozwolić programowi Internet Explorer wiedzieć, że formant jest bezpieczny dla skryptów.
Skrypty strony sieci Web
Formant jeszcze nic nie robi, więc zmień stronę sieci Web tak, aby reagowała na wysyłane przez Ciebie zdarzenia.
Aby utworzyć skrypt dla strony w sieci Web
Otwórz plik PolyCtl.htm i wybierz widok HTML.Dodaj następujące linie kodu HTML.Powinny one zostać dodane po </OBJECT> lecz przed </BODY>.
<SCRIPT LANGUAGE="VBScript"> <!-- Sub PolyCtl_ClickIn(x, y) PolyCtl.Sides = PolyCtl.Sides + 1 End Sub Sub PolyCtl_ClickOut(x, y) PolyCtl.Sides = PolyCtl.Sides - 1 End Sub --> </SCRIPT>
Zapisz plik HTM.
Dodałeś kod w języku VBScript, który pobiera właściwość Boki z formantu i zwiększa o jeden liczbę boków, po kliknięciu wewnątrz formantu.Jeśli klikniesz poza formantem, zmniejszasz liczbę boków o jeden.
Wskazuje, że formant jest bezpieczny w zakresie wykonywania skryptów
Możesz wyświetlić stronę sieci Web z formantem w Internet Explorer lub wygodniej, używając widoku przeglądarki sieci Web wbudowanego w Visual C++.Aby wyświetlić formant w widoku przeglądarki sieci Web, kliknij prawym przyciskiem myszy PolyCtl.htm, a następnie kliknij Pokaż w przeglądarce.
W oparciu o bieżące ustawienia zabezpieczeń programu Internet Explorer może się pojawić okno dialogowe alerty zabezpieczeń stwierdzające, że formant może nie być bezpieczny dla skryptu i może go uszkodzić.Na przykład gdyby istniał formant, w którym jest wyświetlany plik, ale również istniała metoda Delete, która usuwa plik, będzie bezpiecznie tylko wyświetlić go na stronie.Jednakże byłby niebezpieczny w zakresie wykonywania skryptów, ponieważ ktoś mógłby wywołać metodę Delete.
Uwaga dotycząca zabezpieczeń |
---|
Dla tego samouczka można zmienić ustawienia zabezpieczeń w programie Internet Explorer, aby uruchomić formanty ActiveX, które nie są oznaczone jako bezpieczne.W Panelu sterowania kliknij przycisk Właściwości: Internet i kliknij przycisk Zabezpieczenia, aby zmienić odpowiednie ustawienia.Po zakończeniu samouczka, należy zmienić ustawienia zabezpieczeń do ich stanu oryginalnego. |
Możesz programowo powiadomić Internet Explorer, że nie musi wyświetlać okna dialogowego Alert zabezpieczeń dla tego określonego formantu.Można to zrobić za pomocą interfejsu IObjectSafety, ATL dostarcza implementację tego interfejsu w klasie IObjectSafetyImpl.Aby dodać interfejs do formantu, dodaj IObjectSafetyImpl do listy dziedziczonych klas i dodaj wpis do niego na mapie COM.
Aby dodać IObjectSafetyImpl do formantu
Dodaj następujący wiersz na końcu listy klasy dziedziczone w PolyCtl.h i dodaj przecinek do poprzedniego wiersza:
public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
Dodaj następujący wiersz do mapy COM w PolyCtl.h:
COM_INTERFACE_ENTRY(IObjectSafety)
Tworzenie i testowanie formantu
Kompiluj wersję.Po zakończeniu kompilacji ponownie otwórz plik PolyCtl.htm w przeglądarce.Tym razem, strona sieci Web powinna być wyświetlana bezpośrednio, bez okna dialogowego Alert bezpieczeństwa.Kliknij wewnątrz wielokąta; liczba boków zwiększa się o jeden.Kliknij poza wielokątem, aby zmniejszyć liczbę boków.Jeśli użytkownik próbuje zmniejszyć liczbę boków do poniżej trzech, pojawi się komunikat o błędzie, który został ustawiony.
Następne kroki
To jest koniec samouczka ATL.Aby uzyskać łącza do dodatkowych informacji o bibliotekach ATL, zobacz stronę startową o bibliotekach ATL.