Passaggio 7: Inserire il controllo in una pagina Web

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

  1. 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>
    
  2. 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 sicurezzaNota 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

  1. 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>
    
  2. 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.

Per tornare al passaggio 6

Passaggi successivi

Si conclude l'esercitazione ATL.Per collegamenti a ulteriori informazioni su ATL, vedere Pagina iniziale ATL.

Vedere anche

Riferimenti

L'esercitazione ATL