BILGI: ActiveX denetimi içinde nesne modeli tarafından erişiliyor

Makale çevirileri Makale çevirileri
Makale numarası: 172763 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Genellikle bir ActiveX denetimi, ınternet için yazarken, bu nesne modeli, HTML sayfasına erişmek gerekli olabilir. Nesne modeli, HTML sayfasının içinde çeşitli öğelere erişim sağlar.

Bu makalede, Visual C++ ve Visual Basic nesne modeline erişimi olmadığını anlatılır ve ınternet Explorer (IE) 3.x ve 4. 0'ı hem de kapsar.

Daha fazla bilgi

NESNE MODELİ

Belge nesne modeli için ActiveX Software Development Kit'e (SDK) ve ınternet Explorer 3.x ve 4. 0 ','için ınternet istemcisi SDK'SıNDAKI sırasıyla bulunamıyor. Nesne modeli gibi belgelenmiştir:
   window
      - location
      - frames
      - ...
      - document
         - links
         - forms
            - elements
				
bu hiyerarşinin en üst düzeyinde penceresi nesnedir. Pencere, sırayla kendi özellikler kümesini içeren bir belge özelliği vardır. Lütfen, daha fazla ayrıntı için uygun SDK başvurun.

BİR DENETİMİN NESNE MODELİNE ERİŞMEK NEDEN GEREKİR?

Denetim erişebilir (ve bazı durumlarda değiştirme) içinde katıştırılmış olan bir sayfa hakkında bilgi. Bunu yapmak için <a0></a0>, denetimin nesne modeli erişmeniz gerekir. Örneğin, bir denetim öğeleri sayfa üzerinde tüm numaralandırabilirsiniz. Dinamik HTML söz konusu olduğunda, denetimi, sayfadaki herhangi bir HTML öğesi erişebilirler.

NESNE MODELİ ERİŞME

Nesne modeli, otomasyon ve COM arabirimleri kullanılarak uygulanır. Daha sonra denetimin en üst düzeyi nesne modeline erişmek mümkün olduğunda, otomasyonu veya COM arabirimleri kullanarak nesne modeli ayrıntısına inebilir. Bu makalede, her iki adımları açıklanır:
  1. Nesne modeli üst düzeyine alınıyor.
  2. Aşağı nesne modeli Delme.

NESNE MODELİ (visual c++) İÇİN EN ÜST DÜZEYİ ALINIYOR

(ınternet Explorer 3.x ve 4.x için), ıwebbrowserapp kullanma

Iwebbrowserapp Web tarayıcı denetimi tarafından açılan bir arabirimdir. Bu belge özelliği (veya get_document yöntemi) vtable arabirimini kullanarak sahipse, etkin belgenin <a1>Otomasyon</a1> nesnesine erişim sağlar. Sonra belgeyi bir HTML belgesi ise, Otomasyon nesnesi penceresi nesnesi komut dosyası nesne modeli sağlar bir komut dosyası özelliği vardır. Bu nedenle, nesne modeline erişmek bir denetim için aşağıdakileri yapmanız gerekir:

  • Iwebbrowserapp içeren HTML sayfasından edinin.
  • Belge özelliği, ıwebbrowserapp alın.
  • Komut dosyası özelliği belgenin alın.
Bu üst düzeyinde (penceresi nesnesi) nesne modelindeki koyacaktır. Daha sonra Otomasyon detaya için daha fazla kullanın.

ıwebbrowserapp alma

ıwebbrowserapp alma iki adımlı bir işlemdir:
  1. ıoleclientsite işaretçiyi ıserviceprovider almak için kullanın. Bir ATL, denetimi, bu işaretçiyi denetimin m_spClientSite üye erişerek elde edilebilir. Bir MFC denetiminde bu işaretçiyi COleControl::GetClientSite() ça??rarak elde edilebilir. Denetim erişimi kapsayıcısı ıoleclientsite arabirimi vardır. Bu işaretçi QI ıserviceprovider için kullanabilirsiniz:
    pClientSite->QueryInterface(IID_IServiceProvider,
                              (void **)&pISP);
    						
  2. ıserviceprovider, ıwebbrowserapp elde etmek için kullanın. ıserviceprovider kullanarak bir QueryService ıwebbrowserapp almak için yapılabilir:
          pISP->QueryService(SID_SWebBrowserApp, IID_IWebBrowserApp,
                            (void **)&pIWebBrowserApp));
    						
Ayrıca, programlama için ınternet Explorer 4 veya sonraki bir sürümünü kullanıyorsanız, bu kodu kapsayıcısının IWebBrowser2 arabirim işaretçisi edinebilirsiniz:
   pISP->QueryService(IID_IWebBrowserApp, IID_IWebBrowser2,
     (void **)&pIWebBrowser2));
				
COM kimlik kuralda izlemek yok, QueryService Queryınterface ' farklıdır Nesnenin kendisi ıwebbrowserapp çözümü uygularsanız, bu nedenle, içeren nesne ve QueryService, bir ıwebbrowserapp için temsilci seçebilirsiniz.

Belge özelliğinin, ıwebbrowserapp alın

Iwebbrowserapp çift bir arabirimdir. Bu, bir belge özelliği ve ayrıca get_Document yöntemi vardır. Ya da etkin belgenin ıdispatch almak için kullanılır. ıdispatch sahip olduğunuzda, komut dosyası özelliği elde edilebilir.

Komut dosyası özelliği belge alma

Yukarıdaki elde ıdispatch kullanarak, Otomasyon kullanarak komut dosyası özelliği alın. Bu komut dosyası nesne modeli veya pencere nesnenin en üst düzey sunar.

NESNE MODELİ (visual c++) EN ÜST DÜZEYİ ALINIYOR

(YALNıZCA ınternet Explorer 4.0)

Internet Explorer 4.0 nesne modeli çok daha kolay erişmesini sağlar. Bu tek adımlı bir işlemdir:
  1. ıhtmldocument2 IClientSite alın.

Ioleclientsite ıhtmldocument2 alma

Her denetime kendi kapsayıcısının IClientSite erişebilir. Komut dosyası nesne modeli, QI-çalışmak için <a0>istemci</a0> sitesinden ıhtmldocument2 vermelisiniz.
   IOleContainer* pContainer = NULL;
   IHTMLDocument2* pDoc = NULL;

   pClientSite->GetContainer( &pContainer );
   if ( pContainer != NULL )
      pContainer->QueryInterface( &IID_IHTMLDocument2, &pDoc );
				
Yukarıdaki çağrısından döndürülen değerini denetleyin. Denetim bir HTML sayfasını katıştırılmış veya kapsayıcıyı ınternet Explorer 4. 0 değilse, yukarıdaki çağrısı başarısız olur.

Belge nesnesi ıhtmldocument2 alınıyor komut dosyası nesne modeli sağlar. Daha sonra Otomasyon arabirimleri veya vtable arabirimleri nesne modeli ulaşmak için kullanılabilir.

NESNE MODELİ (GÖRSEL TEMEL) EN ÜST DÜZEYİ ALINIYOR

UserControl <a1>üst</a1> özelliği, Otomasyon nesnesi erişmek için kullanılabilir. Üst özelliği Visual Basic belgelerine ınternet Explorer, komut dosyası özelliği IOmWindow nesnesi döndüren bir nesne döndürür.

Visual Basic belgelerindeki verilen örnek aşağıdaki gibidir:
Parent.Script.get_document.bgColor = "Blue"
				
üst özelliği için Otomasyon nesnesi alır. Daha sonra komut dosyası özelliği bize penceresi nesnesi komut dosyası nesne modeli sağlar. Daha sonra farklı özellikleri ve yöntemleri yalnızca herhangi diğer bir Otomasyon nesnesi gibi erişilebilir.

Yukarıdaki kod satırını şu şekilde okumalısınız:
Parent.Script.document.bgColor = "Blue"
				
get_document kullanarak ınternet Explorer 3.x içinde doğru bile olsa, ınternet Explorer 4. 0 ' çalışmaz. Belge özelliğinin doğru yöntemini kullanmaktır. Bu, hem ınternet Explorer 3.x ve 4. 0'de çalışır.

NESNE MODELİ DELME

Nesne modeli Delme özelliklerini ve otomasyon kullanma yöntemlerini çağıran basit bir işlemdir. Internet Explorer 3.x için yalnızca bir Otomasyon kullanın. Internet Explorer 4.0 için vtable arabirimleri kullanılabilir. Daha fazla bilgi için ınternet istemcisi SDK'sındaki driller örneğe bakın.

Özellikler

Makale numarası: 172763 - Last Review: 18 Temmuz 2001 Çarşamba - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet İstemci Yazılımı Geliştirme Seti 4.01
Anahtar Kelimeler: 
kbmt kbfaq kbinfo KB172763 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:172763

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