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

Makale çevirileri Makale çevirileri
Makale numarası: 196340 - Bu makalenin geçerli olduğu ürünleri görün.
(c) Microsoft Corporation 1998, tüm hakları saklıdır. Katkıyı yakın Scott, Microsoft Corporation.
Hepsini aç | Hepsini kapa

Ö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 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();
}
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.

Özellikler

Makale numarası: 196340 - Last Review: 12 Mayıs 2004 Çarşamba - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Explorer (Programming) 6.0
Anahtar Kelimeler: 
kbmt kbfaq kbhowto kbwebbrowser KB196340 KbMttr
Machine-translated Article
Ö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.

Geri Bildirim Ver

 

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