Aracılığıyla paylaş


Etkin belgeyi kapsayıcılar

Microsoft Office Ciltçi'yi veya Internet Explorer gibi bir etkin belge kapsayıcısına birkaç farklı uygulama türleri (yerine, her belge türü için birden çok uygulama çerçeve oluşturmak ve zorlama) tek bir çerçeve içinde belgelerle olanak sağlar.

mfc, etkin belgeyi kaplarında için tam destek sağlar COleDocObjectItem sınıfı.mfc uygulaması Sihirbazı'nı seçerek etkin belge kapsayıcı oluşturmak için kullanabileceğiniz Etkin belge kapsayıcı onay kutusunu Bileşik belge desteği mfc uygulaması Sihirbazı sayfası.Daha fazla bilgi için bkz: etkin bir belge konteyner uygulaması oluşturma.

Etkin belgeyi kapları hakkında daha fazla bilgi için bkz:

Kapsayıcı gereksinimleri

Etkin belge etkin belge kapsayıcısına desteği anlaşılacağı daha fazlasını arabirim uygulamaları: içerilen nesne arabirimleri kullanarak, bilgi de gerektirir.Etkin belge uzantıları burada kap da bu uzantı arabirimleri etkin belge üzerinde kendilerini nasıl bilmeniz gerekir, aynı uygulanır.

Etkin belge tümleştiren bir etkin belge kapsayıcısına gerekir:

  • Nesne Depolama Birimi'ni kullanma yeteneğine sahip olması IPersistStorage arabirimi, diğer bir deyişle, vermesi gereken bir IStorage her bir etkin belge için örnek.

  • "Site" nesneleri (bir belge veya gömme başına) necessitating ole belgelerin temel katıştırma özellikleri destekleyen saðlamanýzý IOleClientSite ve IAdviseSink.

  • Yerinde etkinleştirme katıştırılmış nesneler veya etkin belgeleri destekler.Konteynerin site nesneleri uygulamalıdır IOleInPlaceSite ve çerçeve nesne kapsayıcının sağlamalıdır IOleInPlaceFrame.

  • Etkin belge uzantıları uygulayarak Destek IOleDocumentSite kapsayıcı belge konuşmak için bir mekanizma sağlamak.İsteğe bağlı olarak, konteyner etkin belge arabirimleri uygulayabilirsiniz IOleCommandTarget ve IContinueCallback yazdırma veya kaydetme gibi basit komutları çekilecek.

Çerçeve nesne, nesne görüntüle ve kapsayıcı nesnesi isteğe bağlı olarak uygulamak IOleCommandTarget anlatıldığı gibi belirli komutlar, dağıtım desteklemek için Komutunun hedefi.Görünüm ve kapsayıcı nesneleri ayrıca isteğe bağlı olarak uygulamak IPrint ve IContinueCallback, anlatıldığı gibi programlı yazdırmayı desteklemek için Programlı yazdırma.

Aşağıdaki şekilde bir kapsayıcı bileşenlerinden (en solda) ve etkin belgeyi ve onun görünümlerde (sağ) kavramsal ilişkiler gösterilmiştir.Etkin belge depolama ve veri yönetir ve görünümü görüntüler veya isteğe bağlı olarak, verileri yazdırır.Kalın arabirimlerini etkin belge katılım için gerekli olanlardır; Bu kalın ve italik isteğe bağlıdır.Tüm arabirimleri gereklidir.

Etkin belge kapsayıcısı arabirimleri

Tek bir görünümde destekleyen bir belge tek bir beton sınıfı hem görünümü hem de belge bileşenlerini (yani, karşılık gelen arabirimlerini) uygulayabilirsiniz.Buna ek olarak, yalnızca bir seferde bir görünüm destekleyen bir kapsayıcı sitesi belge ve görünümü siteleri tek somut site sınıf halinde birleştirebilirsiniz.Çerçeve nesne kapsayıcının, ancak ayrı kalması ve konteynerin belge bileşeni yalnızca burada mimarisinin eksiksiz vermek dahil; Etkin belgenin içerik mimarisi tarafından etkilenmez.

Belge Site nesneleri

Etkin belgenin içerik mimarisinde belge sitesi bir istemci site nesnesi ole belgelerde birlikte aynıdır IOleDocument arabirimi:

interface IOleDocumentSite : IUnknown

{

HRESULT ActivateMe(IOleDocumentView *pViewToActivate);

}

Belge kavramsal olarak bir veya daha fazla "görünümü site" nesneleri için kapsayıcı sitesidir.Her görünüm sitesi belge sitesi tarafından yönetilen belge tek tek görüntüleme nesneleriyle ilişkili nesnesidir.Kapsayıcı belge site başına tek bir görünümde yalnızca destekliyorsa, sonra da belge ve somut bir sınıf ile görünüm siteleri uygulayabilirsiniz.

Site nesneleri görüntüleme

Bir kapsayıcının görüntüleme site nesnesi, bir belgenin belirli bir görünüm için görüntü alanını yönetir.Standart destek ek olarak IOleInPlaceSite görünümü site, genellikle de arabirimini uygulayan IContinueCallback programlı yazdırma denetimi için.(Görüntüleme nesnesi için hiçbir zaman sorgular Not IContinueCallback üzerinde gerçekten uygulanabilir şekilde herhangi bir nesne kapsayıcısı istediği gibi yararlanır.)

Birden çok görünüm destekleyen bir kapsayıcı belge site içinde site nesneleri birden çok görünüm oluşturmak olması gerekir.Bu her görünümde ayrı etkinleştirme ve devreden çıkarma Hizmetleri aracılığıyla sağladığı IOleInPlaceSite.

Nesne çerçevesi

Konteynerin çerçeve, çoðunlukla, nesnesidir ole belgelerde yerinde etkinleştirme için kullanılan aynı çerçevede, menü ve araç çubuğu anlaşma işleme tek.View nesnesi çerçeveye nesne üzerinden erişimi IOleInPlaceSite::GetWindowContext, kendisi de erişim sağlar (araç bölmesi düzeyi anlaşması ve içerilen nesne numaralandırma işleyebilir) kapsayıcı belge gösteren bir container nesnesi.

Etkin belgeyi kapsayıcı çerçeve ekleyerek genişletebilirsiniz IOleCommandTarget.Bu komutları aynı şekilde bu arabirimle aynı komutları göndermek bir kap izin ver etkin belgenin kullanıcı arabiriminde kaynaklanan almasına izin verir (gibi Yeni dosya, açık, Kaydet, baskı; Düzenleme Copy, Yapıştır, gerive diğerleri) için etkin bir belge.Daha fazla bilgi için bkz: Komutunun hedefi.

Ayrıca bkz.

Kavramlar

Etkin belgenin içerik