Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Bir <a0>HTML</a0> çerçevesinin WebBrowser nesne modeli nasıl edinilir

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:196340
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.
Özet
Bu makale Ayrıntılar standart bir yöntem WebBrowser denetimi ana denetim içinde HTML sayfasına çerçeve pencerelerinde WebBrowser nesne modelini erişmek için kullanabilirsiniz. Bu nesne modeli, HTML nesne modeli aracılığıyla çerçeve penceresi için kullandığı bir ek işlevler sağlar.
Daha fazla bilgi
Aşağıdaki kod, her çerçevenin içeriğini yenilemek için WebBrowser nesne modeli çerçevelerin bir <a0>HTML</a0> sayfasındaki erişim gösterilmiştir.

Kodu en önemli bir parçası, katıştırılmış sayfasında Numaralandırılacak HTML belgesi nesnesinin IOleContainer::EnumObjects yöntemini kullanır. Bu katıştırılmış her sayfasında bir denetim temsil eder. Her denetim nesnesi için IWebBrowser2 sorgulayarak, bu kodu denetimi bir sub-frame olup olmadığını belirleyebilirsiniz. WebBrowser nesne modeli IWebBrowser2 gösterir; bu arabirim için Queryınterface başarılı olursa, sonuç WebBrowser nesne modeli başvurusu.
// 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();}
Bir HTML sayfasında bulunan Not ActiveX denetimleri bu teknik, benzer şekilde kullanabilirsiniz. Genel olarak, güvenli olmayan WebBrowser nesne modeli erişen bir ActiveX denetimi komut dosyası oluşturma için güvenli değildir ve ıobjectsafety arabirimini buna göre uygulamak güvenlik.
(c) Microsoft Corporation 1998, tüm hakları saklıdır. Katkıyı yakın Scott, Microsoft Corporation.
WebBrowser çerçeve

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 196340 - Son İnceleme: 05/12/2004 16:07:28 - Düzeltme: 3.0

Microsoft Internet Explorer (Programming) 6.0

  • kbmt kbfaq kbhowto kbwebbrowser KB196340 KbMttr
Geri bildirim