Identificar os elementos do projeto de controle do DHTML
Grande parte do código DHTML controle exatamente dessa forma é criada para qualquer controle ATL.Para obter um entendimento básico do código genérico, percorrendo o Tutorial do ATLe leia as seções Criando um projeto do ATL and Fundamentos de objetos COM de ATL.
Um controle DHTML é semelhante a qualquer controle ATL, exceto:
Juntamente com as interfaces regulares que implementa um controle, ele implementa uma interface adicional que é usada para a comunicação entre o código C++ e a interface de usuário (UI) do HTML.A interface do usuário HTML chama código C++ usando esta interface.
Ele cria um recurso HTML para o controle da interface do usuário.
Ele permite acesso ao modelo de objeto DHTML através de variável membro m_spBrowser, que é um ponteiro SMART do tipo IWebBrowser2.Use esse ponteiro para acessar qualquer parte do modelo de objeto DHTML.
O elemento gráfico a seguir ilustra a relação entre sua DLL, o controle DHTML, o navegador da Web e o recurso HTML.
Observação: |
---|
Os nomes de elemento gráfico são espaços reservados.Os nomes de seus recursos HTML e as interfaces expostas no seu controle baseiam-se os nomes de que atribuí-los no Assistente para controle ATL. |
Esse elemento gráfico, os elementos são:
Minha DLL A DLL criado usando o ATL projeto assistente.
Controle DHTML (m_spBrowser) O controle DHTML, criado usando o Assistente de objeto ATL. Esse controle acessa o objeto de navegador da Web e seus métodos por meio da interface do objeto do navegador da Web, IWebBrowser2.O próprio controle expõe as seguintes duas interfaces, além outras interfaces padrão necessários para um controle.
IDHCTL1 A interface exposta pelo controle para uso somente pelo contêiner.
IDHCTLUI1 A interface de despacho para comunicação entre o código C++ e a interface do usuário HTML.O navegador da Web usa a interface de distribuição do controle para exibir o controle.Você pode chamar métodos vários desta interface dispatch da interface do usuário do controle invocando window.external, seguido do nome do método nesta interface dispatch que você deseja chamar. Você acessaria window.external de uma marca SCRIPT em HTML que compõem a interface do usuário para esse controle. Para obter mais informações sobre como invocar métodos externos no arquivo de recurso, consulte Chamando código C++ DHTML.
IDR_CTL1 A ID de recurso do recurso HTML.Seu nome de arquivo, nesse caso, é DHCTL1UI.htm.O controle DHTML usa um recurso HTML que contém Rótulos HTML padrão e comandos de despacho de janela externa que você pode edição usando o editor de texto.
Navegador da Web O navegador da Web exibe a interface do usuário do controle, com base em HTML no recurso HTML.Um ponteiro para IWebBrowser2 interface está disponível no controle do DHTML para permitir o acesso ao modelo de objeto DHTML.
O Assistente de controle ATL gera um controle de código padrão no recurso HTML e o arquivo .cpp.Você pode compilar e executar o controle conforme gerado pelo assistente e, em seguida, exiba o controle no navegador da Web ou o contêiner de teste do controle ActiveX.A figura abaixo mostra o controle ATL DHTML padrão com três botões exibidos no contêiner de teste:
See Criando um controle ATL DHTML para começar a criar um DHTML de controle.See Teste de propriedades e eventos com o contêiner de teste para obter informações sobre como acessar o contêiner de teste.