Partilhar via


Chamando código C++ a partir de DHTML

Um controle DHTML pode ser hospedado em um contêiner, como Test Container ou Internet Explorer. Consulte Propriedades e eventos de teste com contêiner de teste para obter informações sobre como acessar o contêiner de teste.

O contêiner que hospeda o controle se comunica com o controle usando as interfaces de controle normais. DHTML usa a interface de despacho que termina com "UI" para se comunicar com seu código C++ e seu recurso HTML. Em Modificando o controle DHTML ATL, você pode praticar a adição dos métodos a serem chamados por essas interfaces diferentes.

Para ver um exemplo de chamada de código C++ de DHTML, crie um controle DHTML usando o ATL Control Wizard e examine o código no arquivo de cabeçalho e no arquivo HTML.

Declarando métodos WebBrowser no arquivo de cabeçalho

Para invocar métodos C++ da interface do usuário DHTML, você deve adicionar métodos à interface da interface do usuário do controle. Por exemplo, o ficheiro de cabeçalho criado pelo ATL Control Wizard contém o método OnClick C++, que é um membro da interface de utilizador do controlo gerado pelo assistente.

Examine OnClick no arquivo .h do controle:

STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)

O primeiro parâmetro, pdispBody, é um ponteiro para a interface de despacho do objeto body. O segundo parâmetro, varColor, identifica a cor a ser aplicada ao controle.

Chamando código C++ no arquivo HTML

Depois de declarar os métodos WebBrowser no arquivo de cabeçalho, você pode invocar os métodos do arquivo HTML. Observe no arquivo HTML que o ATL Control Wizard insere três métodos de despacho do Windows: três OnClick métodos que despacham mensagens para alterar a cor de plano de fundo do controle.

Examine um dos métodos no arquivo HTML:

<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>

No código HTML acima, o método externo da janela, OnClick, é chamado como parte da tag button. O método tem dois parâmetros: theBody, que faz referência ao corpo do documento HTML e "red", que indica que a cor de fundo do controle será alterada para vermelho quando o botão for clicado. O rótulo do botão é o Red que segue a tag.

Consulte Modificando o controle ATL DHTML para obter mais informações sobre como fornecer seus próprios métodos. Consulte Identificando os elementos do projeto de controle DHTML para obter mais informações sobre o arquivo HTML.

Ver também

Suporte para controle DHTML