Vložení ovládacího prvku na webovou stránku (ATL – tutoriál, část 7)
Ovládací prvek je nyní dokončen.Chcete-li zobrazit práci ovládacího prvku v reálné situaci, umístěte ho na webovou stránku.Soubor ve formátu HTML obsahující ovládací prvek byl vytvořen při definování vašeho ovládacího prvku.Otevřete soubor PolyCtl.htm z Průzkumníka řešení, kde můžete vidět ovládací prvek na webové stránce.
V tomto kroku naskriptujete webovou stránku tak, aby reagovala na události.Upravíte také ovládací prvek, který dá aplikaci Internet Explorer vědět, že je bezpečný pro skriptování.
Skriptování webové stránky
Ovládací prvek zatím nic nedělá, takže upravte webovou stránku v reakci na odeslané události.
Chcete-li skriptovat webovou stránku
Otevřete PolyCtl.htm a vyberte zobrazení HTML.Přidejte následující řádky do kódu HTML.Měly by být přidány za </OBJECT> ale před </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>
Uložte soubor HTM.
Přidali jste některý kód jazyka VBScript, který získá vlastnost Sides z ovládacího prvku a zvýší počet stran o 1, pokud kliknete dovnitř ovládacího prvku.Pokud kliknete na tlačítko mimo ovládací prvek, snížíte počet stran o jednu.
Označuje, že ovládací prvek je bezpečný pro skriptování
Webovou stránku můžete zobrazit pomocí ovládacího prvku v aplikaci Internet Explorer nebo ještě pohodlněji pomocí zobrazení webového prohlížeče, který je součástí aplikace Visual C++.Chcete-li zobrazit ovládací prvek ve webovém prohlížeči, klikněte pravým tlačítkem myši na PolyCtl.htm a klikněte na tlačítko Zobrazit v prohlížeči.
V závislosti na aktuálním nastavení zabezpečení aplikace Internet Explorer se může zobrazit dialogové okno výstrahy zabezpečení oznamující, že skript ovládacího prvku nemusí být bezpečný a může potenciálně způsobit poškození.Například pokud máte ovládací prvek, který zobrazil soubor, ale měl rovněž metodu Delete, která odstranila soubor, mělo by být bezpečné, pokud jste ho pouze zobrazili na stránce.Není bezpečné použít skript, protože někdo může volat metodu Delete.
Poznámka k zabezpečení |
---|
Pro účely tohoto návodu můžete změnit nastavení zabezpečení v aplikaci Internet Explorer ke spuštění ovládacích prvků ActiveX, které nejsou označeny jako bezpečné.V Ovládacích panelech klepněte na Vlastnosti Internetu a klepněte na tlačítko Zabezpečení pro změnu příslušných nastavení.Po dokončení kurzu změňte nastavení zabezpečení zpět do původního stavu. |
Můžete programově upozornit aplikaci Internet Explorer, že nemusí zobrazit dialogové okno Výstraha zabezpečení pro tento konkrétní ovládací prvek.To lze provést pomocí rozhraní IObjectSafety a ATL dodá implementaci tohoto rozhraní ve třídě IObjectSafetyImpl.Chcete-li přidat rozhraní do vašeho ovládacího prvku, přidejte IObjectSafetyImpl k seznamu zděděných tříd a přidejte pro ně položku do mapy modelu COM.
Přidat IObjectSafetyImpl do ovládacího prvku
Přidejte následující řádek na konec seznamu zděděné třídy v souboru PolyCtl.h a přidejte čárku na předchozí řádek:
public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
Do souboru PolyCtl.h přidejte následující řádek:
COM_INTERFACE_ENTRY(IObjectSafety)
Vytváření a testování ovládacího prvku
Sestavte ovládací prvek.Po dokončení sestavení znovu v prohlížeči otevřete PolyCtl.htm.Tentokrát by se měla webová stránka zobrazovat přímo bez dialogového okna Výstraha zabezpečení.Klikněte dovnitř mnohoúhelníku; počet stran se zvýší o jedna.Klikněte mimo mnohoúhelník pro snížení počtu stran.Pokud se pokusíte se snížit počet stran pod tři, zobrazí chybová zpráva, kterou jste nastavili.
Další kroky
Tímto dokončíte kurz ATL.Odkazy na další informace o poskytovateli ATL naleznete v části Úvodní stránka ATL.