Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il controllo viene completato.Per visualizzare il lavoro del controllo in una situazione reale, inserirla in una pagina Web.Un file HTML contenente il controllo viene creato quando è definito il controllo.Aprire il file PolyCtl.htm da Esplora soluzioni ed è possibile visualizzare il controllo in una pagina Web.
In questo passaggio, script la pagina Web risponderete eventi.Anche verrà modificato il controllo per consentire a Internet Explorer si è certi che il controllo è sicuro per lo script.
Scripting la pagina Web
Il controllo non fa altro ancora, in modo da modificare la pagina Web per rispondere a eventi inviati.
Lo script la pagina Web
Aprire PolyCtl.htm e selezionare la visualizzazione HTML.Aggiungere le seguenti righe al codice HTML.Devono essere aggiunti dopo </OBJECT> ma prima </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>Salvare il file HTM.
È stato aggiunto un codice VBScript che ottiene i lati la proprietà del controllo e aumenta il numero di lati di uno se si fa clic nel controllo.Se si fa clic all'esterno del controllo, si riduce il numero di lati di uno.
Indica che il controllo è sicuro per gli script
È possibile visualizzare più efficiente la pagina Web con il controllo in Internet Explorer o, utilizzare il punto di vista del browser Web compilato in Visual C++.Per visualizzare il controllo nel punto di vista del browser, fare clic con il pulsante destro del mouse su PolyCtl.htm e fare clic Visualizza nel browser.
In base alle impostazioni di sicurezza correnti di Internet Explorer, è possibile ricevere una finestra di dialogo avviso di sicurezza che informa che il controllo non può essere sicuro allo script e potrebbe eseguire lo stack.Ad esempio, se si dispone di un controllo che visualizza un file ma anche fosse un metodo Delete che ha eliminato un file, è certi se lo è probabile che solo a una pagina.Sarebbe non sicuro allo script, tuttavia, poiché un utente potrebbe chiamare il metodo Delete.
Nota sulla sicurezza |
|---|
Per questa esercitazione, è possibile modificare le impostazioni di sicurezza in Internet Explorer per eseguire i controlli ActiveX non contrassegnati come sicuri.Nel Pannello di controllo, quindi scegliere Proprietà Internet e scegliere Sicurezza per modificare le impostazioni appropriate.Una volta completata l'esercitazione, modificare le impostazioni di sicurezza di nuovo allo stato originale. |
A livello di codice è avviso Internet Explorer non deve visualizzare la finestra di dialogo avviso di sicurezza per questo particolare controllo.È possibile eseguire questa operazione con l'interfaccia IObjectSafety e ATL fornisce un'implementazione di questa interfaccia della classe IObjectSafetyImpl.Per aggiungere un'interfaccia al controllo, aggiungere IObjectSafetyImpl all'elenco delle classi ereditate e aggiungere una voce per nella mappa COM.
Per aggiungere IObjectSafetyImpl al controllo
Aggiungere la seguente riga alla fine dell'elenco delle classi ereditate in PolyCtl.h e aggiungere una virgola alla riga precedente:
public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>Aggiungere la riga seguente alla mappa COM in PolyCtl.h:
COM_INTERFACE_ENTRY(IObjectSafety)
Compilazione e test il controllo
Compilare il controllo.Il termine della compilazione una volta nuovamente, aprire PolyCtl.htm nel punto di vista del browser.Questa volta, la pagina Web deve essere visualizzata direttamente senza la finestra di dialogo contenente un avviso di sicurezza.Fare clic nel poligono, il numero di aumentare i lati di uno.Fare clic fuori del poligono per ridurre il numero di lati.Se si tenta di ridurre il numero di lati inferiore a tre, verrà visualizzato il messaggio di errore impostato.
Passaggi successivi
Si conclude l'esercitazione ATL.Per collegamenti a ulteriori informazioni su ATL, vedere Pagina iniziale ATL.
Nota sulla sicurezza