Você está offline; aguardando reconexão

Como obter o modelo de objeto WebBrowser de um quadro HTML

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 196340
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sumário
Este artigo detalhes os hosts de controle do WebBrowser técnica padrão podem usar para acessar o modelo de objeto WebBrowser de janelas de quadro em uma página HTML dentro do controle. Esse modelo de objeto fornece funcionalidade extra que não seja exposta para a janela quadro através do modelo de objeto HTML.
Mais Informações
O código a seguir demonstra como acessar o modelo de objeto WebBrowser de quadros em uma página HTML para atualizar o conteúdo de cada quadro.

A parte mais importante do código usa o método IOleContainer::EnumObjects do objeto de documento HTML para enumerar objetos incorporados na página. Cada um desses objetos incorporados ao representa um controle na página. Consultando cada objeto de controle para IWebBrowser2, esse código pode determinar se o controle é um sub-frame. E IWebBrowser2 representa o modelo de objeto WebBrowser; se QueryInterface for bem-sucedida para esta interface, o resultado é uma referência para o modelo de objeto WebBrowser.
// Get the IDispatch of the documentLPDISPATCH lpDisp = NULL;lpDisp = m_webBrowser.GetDocument();if (lpDisp){   IOleContainer* pContainer;   // Get the container   HRESULT hr = lpDisp->QueryInterface(IID_IOleContainer,                                       (void**)&pContainer);   lpDisp->Release();   if (FAILED(hr))      return hr;   IEnumUnknown* pEnumerator;   // Get an enumerator for the frames   hr = pContainer->EnumObjects(OLECONTF_EMBEDDINGS, &pEnumerator);   pContainer->Release();   if (FAILED(hr))      return hr;   IUnknown* pUnk;   ULONG uFetched;   // Enumerate and refresh all the frames   for (UINT i = 0; S_OK == pEnumerator->Next(1, &pUnk, &uFetched); i++)   {      IWebBrowser2* pBrowser;      hr = pUnk->QueryInterface(IID_IWebBrowser2, (void**)&pBrowser);      pUnk->Release();      if (SUCCEEDED(hr))      {         // Refresh the frame         pBrowser->Refresh();         pBrowser->Release();      }   }   pEnumerator->Release();}
Observação os controles ActiveX hospedados em uma página HTML podem usar essa técnica de maneira semelhante. Em geral, um controle ActiveX que acessa o modelo de objeto não seguro WebBrowser não é seguro para script e deve implementar a interface IObjectSafety acordo de segurança.
(c) Microsoft Corporation 1998, todos os direitos reservados. Contribuições de Scott Roberts, Microsoft Corporation.
Quadro WebBrowser

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 196340 - Última Revisão: 05/12/2004 16:07:28 - Revisão: 3.0

Microsoft Internet Explorer (Programming) 6.0

  • kbmt kbfaq kbhowto kbwebbrowser KB196340 KbMtpt
Comentários