Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O assistente de controle da ATL fornece código inicial para que você possa criar e executar o controle e, portanto, você pode ver como os métodos são gravados nos arquivos de projeto e como o DHTML chama o código C++ do controle usando os métodos de expedição. Você pode adicionar qualquer método de expedição à interface. Em seguida, você pode chamar os métodos no recurso HTML.
Como modificar o controle DHTML da ATL
No Modo de Exibição de Classe, expanda o projeto de controle.
Observe que a interface que termina em "UI" tem um método
OnClick. A interface que não termina em "UI" não tem nenhum método.Adicione um método chamado
MethodInvokedà interface que não termina em "UI".Esse método será adicionado à interface usada no contêiner de controle para interação de contêiner, não à interface usada pelo DHTML para interagir com o controle. Somente o contêiner pode invocar esse método.
Localize o método com stub no arquivo .cpp e adicione o código para exibir uma caixa de mensagem, por exemplo:
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);Adicione outro método chamado
HelloHTML. No entanto, desta vez, adicione-o à interface que termina em "UI". Localize o métodoHelloHTMLcom stub no arquivo .cpp e adicione o código para exibir uma caixa de mensagem, por exemplo:::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);Adicione um terceiro método,
GoToURL, à interface que não termina em "UI". Implemente esse método chamando IWebBrowser2::Navigate, da seguinte maneira:m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);Você pode usar os métodos
IWebBrowser2porque a ATL fornece um ponteiro para essa interface para você no arquivo .h.
Em seguida, modifique o recurso HTML para invocar os métodos criados. Você adicionará três botões para invocar esses métodos.
Para modificar o recurso HTML
Em Gerenciador de Soluções, clique duas vezes no arquivo .htm para exibir o recurso HTML.
Examine o HTML, especialmente as chamadas para os métodos de expedição externos do Windows. O HTML chama o método
OnClickdo projeto, e os parâmetros indicam o corpo do controle (theBody) e a cor a ser atribuída ("red"). O texto que segue a chamada de método é o rótulo que aparece no botão.Adicione outro método
OnClick, apenas altere a cor. Por exemplo:<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>Esse método criará um botão, chamado Atualizar, que o usuário poderá clicar para retornar o controle à tela de fundo original e branca.
Adicione a chamada ao método
HelloHTMLque você criou. Por exemplo:<br> <br> <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>Esse método criará um botão, chamado HelloHTML, que o usuário poderá clicar para exibir a caixa de mensagem
HelloHTML.
Agora você pode criar e testar o controle DHTML modificado.