Compartilhar via


Modificar o controle DHTML da ATL

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

  1. 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.

  2. 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.

  3. 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);
    
  4. Adicione outro método chamado HelloHTML. No entanto, desta vez, adicione-o à interface que termina em "UI". Localize o método HelloHTML com 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);
    
  5. 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 IWebBrowser2 porque 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

  1. 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 OnClick do 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.

  2. 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.

  3. Adicione a chamada ao método HelloHTML que 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.

Confira também

Suporte para controle DHTML