Etapa 7: Colocar o controle em um página da Web
O controle agora estará concluído.Para ver seu controle funcionam em uma situação real, colocá-lo em um página da Web.Um arquivo HTML que contém o controle foi criado quando você definiu seu controle.em aberto o arquivo PolyCtl.htm do gerenciador de soluções e você pode ver seu controle em uma página da Web.
Nesta etapa, você irá script página da Web para responder a eventos.Você também modificará o controle para deixar o Internet Explorer sabe que o controle é seguro para script.
A página de Web de script
O controle não fazer nada ainda, então, alterar a página da Web para responder a eventos que você enviar.
Script de página da Web
Abra PolyCtl.htm e selecionar modo de exibição de HTML.Adicione as linhas negrito no código HTML que compõe a página.
<HTML> <HEAD> <TITLE>ATL 8.0 test page for object PolyCtl</TITLE> </HEAD> <BODY> <OBJECT ID="PolyCtl" < CLASSID="CLSID:4CBBC676-507F-11D0-B98B-000000000000"> > </OBJECT> <SCRIPT LANGUAGE="VBScript"><!--Sub PolyCtl_ClickIn(x, y) PolyCtl.Sides = PolyCtl.Sides + 1End SubSub PolyCtl_ClickOut(x, y) PolyCtl.Sides = PolyCtl.Sides - 1End Sub--></SCRIPT> </BODY> </HTML>
Você adicionou um código de VBScript que obtém a propriedade lados do controle e aumenta o número de lados em uma unidade se clicar dentro do controle.Se você clicar fora do controle, você reduzir o número de lados por um.
Indicando que o controle é seguro para scripts
Você pode exibir a página da Web com o controle no Internet Explorer ou, mais convenientemente, use o modo de exibição de navegador da Web incorporado ao Visual C++.Para ver seu controle no modo de exibição do navegador da Web do Web, clicar com o botão direito do mouse PolyCtl.htm e clique em Exibir navegador da Web da Web.
Com base em suas configurações de segurança corrente do Internet Explorer, você pode receber um alerta de segurança do caixa de diálogo informando que o controle pode não ser seguro para script e poderia potencialmente causem danos.Por exemplo, se você tivesse um controle que exibido um arquivo, mas também tinha um Excluirmétodo de excluído um arquivo, seria seguro se você apenas exibidos em uma página.Não seria seguro para script, no entanto, porque alguém poderia telefonar o Excluir método.
Observação de segurança Para obter este tutorial, você pode alterar sistema autônomo configurações de segurança no Internet Explorer execute controles ActiveX não marcados sistema autônomo seguros.No painel de controle, clicar Propriedades da Internet e clicar Segurança para alterar as configurações apropriadas.Quando tiver concluído o tutorial, altere as configurações de segurança de volta ao estado original.
Você pode programaticamente alertar Internet Explorer que ele não precisa exibir a caixa de diálogo alerta de segurança para esse determinado controle.Você pode fazer isso com o IObjectSafety interface e a ATL fornece uma implementação dessa interface no classe IObjectSafetyImpl.Para adicionar a interface para o controle, adicione IObjectSafetyImpl à sua lista de classes herdadas e adicione uma entrada para ele no MAP COM.
Para adicionar IObjectSafetyImpl para o controle
Adicione a seguinte linha ao participante da lista de classes herdadas em PolyCtl.h e adicione uma vírgula para a linha anterior:
public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
Adicione a seguinte linha para o MAP de COM PolyCtl.h:
COM_INTERFACE_ENTRY(IObjectSafety)
Criando e testando o controle
compilação o controle.Quando tiver terminado a criação, abra novamente PolyCtl.htm no modo de exibição do navegador.Neste momento, a página da Web deve ser exibida diretamente sem a caixa de diálogo alerta de segurança.clicar dentro do polígono; o número de lados aumenta em um.clicar fora do polígono para reduzir o número de lados.Se você tentar reduzir o número de lados abaixo três, você verá a mensagem de erro que você conjunto.
Próximas etapas
Isso conclui o tutorial ATL.Para obter links para obter mais informações sobre o ATL, consulte o Página inicial do ATL.