Získání WebBrowser objektový model rámce HTML

Překlady článku Překlady článku
ID článku: 196340 - Produkty, které se vztahují k tomuto článku.
(c) Microsoft Corporation 1998, všechna práva vyhrazena. Příspěvky Scott Robertse, Microsoft Corporation.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Podrobnosti tohoto článku hostitelů ovládací prvek WebBrowser standardní technika umožňuje přístup k modelu objektu WebBrowser rámečku oken na stránce HTML v ovládacím prvku. Tento objektový model poskytuje další funkce, které není vystavena rámeček okna prostřednictvím objektového modelu HTML.

Další informace

Následující kód ukazuje, jak získat přístup k WebBrowser objektový model rámců na stránce HTML aktualizovat obsah každého rámce.

Nejdůležitější části kód používá metodu IOleContainer::EnumObjects objektu dokument HTML výčet vložené části na stránce. Každý z těchto vložené části představuje ovládacího prvku na stránce. Pomocí dotazu na každý objekt ovládacího prvku pro IWebBrowser2, tento kód zjistit, zda je ovládací prvek sub-frame. A IWebBrowser2 představuje objektový Model WebBrowser; Pokud je funkce QueryInterface úspěšné pro toto rozhraní, výsledek je odkaz na objektový Model WebBrowser.
// Get the IDispatch of the document
LPDISPATCH 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();
}
Podobným způsobem můžete tento postup použijte ovládací prvky ActiveX Poznámka: v souboru HTML. Obecně platí, ovládací prvek ActiveX, který přistupuje k nebezpečným WebBrowser objektový model není bezpečný pro skriptování a musí implementovat rozhraní IObjectSafety odpovídajícím způsobem zabezpečení.

Vlastnosti

ID článku: 196340 - Poslední aktualizace: 12. května 2004 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Internet Explorer (Programming) 6.0
Klíčová slova: 
kbmt kbfaq kbhowto kbwebbrowser KB196340 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:196340
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com