Paso 7: Colocar el Control en una página Web
El control ahora finaliza.Para ver el control trabajar en una situación real, colóquelo en una página Web.Un archivo HTML que contiene el control se creó cuando definió el control.Abra el archivo PolyCtl.htm del explorador de soluciones, y puede ver el control en una página Web.
En este paso, el script de la página Web responda a los eventos.También modificará el control salga de Internet Explorer saber que el control es seguro para el script.
Script de la página Web
El control todavía no sucede nada, por lo que cambie la página Web para responder a eventos que envía.
El script de la página Web
Abra PolyCtl.htm y vista seleccione HTML.Agregue las líneas siguientes al código HTML.Deben agregarse después de </OBJECT> pero antes de </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>
Guarde el archivo HTM.
Ha agregado algún código VBScript que obtiene la propiedad de los lados del control y aumenta el número de lados por uno si hace clic dentro del control.Si hace clic fuera del control, se reduce el número de lados por uno.
Indica que el Control es Seguros para el script
Puede ver la página Web con el control en Internet Explorer o, más sencilla, utilizar la vista explorador web compilada en Visual C++.Para ver el control en la vista explorador web, haga clic con el botón secundario en PolyCtl.htm, y haga clic en Ver en el explorador.
Dependiendo de la configuración de seguridad actual de Internet Explorer, puede recibir un cuadro de diálogo de alerta de seguridad que indica que el control no sea seguro al script y podría hacer daños.Por ejemplo, si tuviera un control que muestra un archivo pero también tuviera un método de Delete que eliminó un archivo, es seguro si acaba de verlo en una página.Sería no seguro al script, sin embargo, dado que alguien podría llamar al método de Delete .
Nota sobre la seguridad |
---|
Para este tutorial, puede cambiar la configuración de seguridad de Internet Explorer para trabajar con los controles ActiveX que no están marcados como seguro.En Panel de control, haga clic Propriedades de Internet y haga clic Seguridad para cambiar los valores adecuados.Cuando se ha completado el tutorial, cambie la configuración de seguridad de nuevo a su estado original. |
Mediante programación puede avisar Internet Explorer que no necesita para mostrar el cuadro de diálogo de alerta de seguridad para este control determinado.Puede hacerlo con la interfaz de IObjectSafety , y ATL proporciona una implementación de esta interfaz en la clase IObjectSafetyImpl.Para agregar la interfaz al control, agregar IObjectSafetyImpl a su lista de clases heredadas y agregar una entrada para él en el mapa COM.
Para agregar IObjectSafetyImpl al control
Agregue la siguiente línea al final de la lista de clases heredadas en PolyCtl.h y agregue una coma a la línea anterior:
public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
Agregue la siguiente línea al mapa COM de PolyCtl.h:
COM_INTERFACE_ENTRY(IObjectSafety)
Compilar y probar el Control
compile el control.La compilación finaliza una vez, abra PolyCtl.htm en la vista explorador de nuevo.Esta vez, la página Web se debe mostrar directamente sin el cuadro de diálogo de alerta de Safety.Haga clic dentro del polígono; el número de mejoras de los lados por uno.Haga clic fuera del polígono para reducir el número de lados.Si intenta reducir el número de lados debajo de tres, verá un mensaje de error que establecido.
Pasos siguientes
Esto concluye el tutorial de ATL.Para obtener vínculos a más información sobre ATL, vea Página principal de ATL.