Compartilhar via


Etapa 7: Colocando o controle em uma página da Web

O controle agora é concluído.Para ver seu controle trabalhar em uma situação do mundo real, colocá-lo em uma página da Web.Um arquivo HTML que contém o controle foi criado quando você definiu o controle.Abra o arquivo PolyCtl.htm do solution Explorer, e você pode ver seu controle em uma página da Web.

Em esta etapa, você script a página da Web irá responder a eventos.Você também irá alterar o controle para permitir que o Internet Explorer saber que o controle é seguro para o script.

Script a página da Web

O controle não faz nada, ainda assim que alterar a página da Web para responder a eventos que você envia.

O script a página da Web

  1. Abra PolyCtl.htm e selecione o modo HTML.Adicione as seguintes linhas no código HTML.Devem ser adicionados após </OBJECT> mas 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>
    
  2. Salve o arquivo de htm.

Você adicionou qualquer código jscript que obtém a propriedade dos lados do controle e aumenta o número de lados por um se você clicar no controle.Se você clicar fora do controle, você reduz o número de lados por um.

Indicando que o controle é seguro para o script

Você pode exibir a página da Web com o controle no Internet Explorer ou, mais conveniente, usar modo de navegador da Web criado no Visual C++.Para ver seu controle no modo de navegador da Web, clique com o botão direito do mouse em PolyCtl.htm, e clique Exibir no navegador.

Com base em suas configurações de segurança atual do Internet Explorer, você pode receber uma caixa de diálogo de alerta de segurança que indica que o controle não pode ser seguro para o script e pode potencialmente fazer danos.Por exemplo, se você tiver um controle que exibe um arquivo mas também tinha um método de Delete que excluísse um arquivo, seria seguro se você exibiu o sozinho em uma página.Seria não seguro para o script, o entanto, como alguém pode chamar o método de Delete .

Observação de segurançaObservação de segurança

Para este tutorial, você pode alterar suas configurações de segurança no Internet Explorer para executar os controles ActiveX que não estão marcados como o cofre.Em o painel de controle, clique em Propriedades da Internet e clique em Segurança para alterar as configurações apropriadas.Quando você tiver terminado o tutorial, alterar as configurações de segurança de volta para seu estado original.

Você pode programaticamente alertar Internet Explorer que não precisará exibir a caixa de diálogo de alerta de segurança para esse controle específico.Você pode fazer isso com a interface de IObjectSafety , e ATL fornece uma implementação da interface na classe IObjectSafetyImpl.Para adicionar a interface para o controle, adicione IObjectSafetyImpl a sua lista de classes herdadas e adicione uma entrada para ele no seu mapa COM.

Para adicionar ao controle IObjectSafetyImpl

  1. Adicione a seguinte linha no final da lista de classes herdadas em PolyCtl.h e adicione uma vírgula para a linha anterior:

    public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
    
  2. Adicione a seguinte linha ao mapa COM em PolyCtl.h:

    COM_INTERFACE_ENTRY(IObjectSafety)
    

Compilação e teste o controle

Compilar o controle.Uma vez que a compilação for concluída, abra PolyCtl.htm no modo do navegador novamente.De esta vez, a página da Web deve ser exibido diretamente sem a caixa de diálogo de alerta de segurança.Clique dentro; polygon o número de gera os lados por um.Clique fora polygon para reduzir o número de lados.Se você tentar reduzir o número de lados abaixo de três, você verá a mensagem de erro que define.

De volta para a etapa 6

Próximas etapas

Isso conclui o tutorial de ATL.Para links para mais informações sobre ATL, consulte página inicial de ATL.

Consulte também

Referência

Tutorial de ATL