
COleLinkingDoc sınıfı, içerdikleri katıştırılmış öğeler bağlama desteği ole kapsayıcı belgeler için taban sınıftır. Katıştırılmış öğeler için bağlama destekleyen bir konteyner uygulaması "bağlantı kapsayıcı." denir OCLIENT örnek uygulama bağlantı kapsayıcı bir örnektir.
Bağlantılı bir öğenin kaynak gömülü öğeyi başka bir belgede olduğunda içeren belge düzenlenecek gömülü öğeyi sırayla yüklenmesi gerekir. Bu nedenle, bir link konteyner kaynağı olan bir bağlı öğeyi düzenlemek kullanıcı isterse başka bir konteyner uygulaması tarafından başlatılması gerekir. O zaman programlı olarak başlatılan belge oluşturabilmeniz için başvurunuzu da COleTemplateServer sınıf kullanmanız gerekir.
Link konteyner, konteyner yapmak için COleLinkingDoc COleDocumentyerine belge sınıfınızın elde. İle herhangi bir diğer ole kapsayıcı olarak, uygulamanın yerel veri olarak katıştırılmış veya bağlantılı öğeleri saklamak için sınıf tasarlamanız gerekir. Ayrıca, yerel verilerinizi depolamak için veri yapıları tasarlamanız gerekir. CDocItemtanımlarsanız-türetilmiş sınıf için uygulama yerel veri COleDocument tarafından tanımlanan arabirimi ole veri yanı sıra yerel verilerinizi depolamak için kullanabileceğiniz.
Program aracılığıyla başka bir konteyner tarafından başlatılacak uygulama izin vermek için uygulamanızın CWinAppüyesi olarak bir COleTemplateServer nesnesi ilan-türetilmiş sınıf:
cOleClientApp sınıfı: ortak CWinApp
{
// ...
Korumalı:
COleTemplateServer m_server;
// ...
}
Senin CWinApp InitInstance üye işlevindeki-türetilmiş sınıf, belge şablonu oluşturma ve sizin COleLinkingDocbelirtin-türetilmiş sınıf belge sınıfı olarak:
/ / CMainDoc türetilmiş COleLinkingDoc
CMultiDocTemplate * pDocTemplate = yeni CMultiDocTemplate (IDR_OCLIENTTYPE,
nbsp; RUNTIME_CLASS(CMainDoc),
RUNTIME_CLASS(CSplitFrame),
RUNTIME_CLASS(CMainView));
pDocTemplate - > SetContainerInfo ()
IDR_OCLIENTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate)
COleTemplateServer nesnesi, nesnenin ConnectTemplate üye işlevini çağırarak belge şablonlarınıza bağlanın ve COleTemplateServer::RegisterAll arayarak ole sistemiyle tüm sınıfı nesneleri kaydettirilemiyor
m_server.ConnectTemplate (CLSID, pDocTemplate, false);
COleTemplateServer::RegisterAll()
Bir örnek CWinApp-türetilmiş bir sınıf tanımı ve InitInstance fonksiyonu, bkz OCLIENT.H ve OCLIENT.cpp mfc örnek OCLIENT.
COleLinkingDochakkında daha fazla bilgi için bkz: makaleleri kaplar: bir kap uygulama ve kaplar: Gelişmiş Özellikler Visual c++ Programcı Kılavuzu.
# include lt;afxole.h>
Sınıf üyeleri |nbsp; Temel sınıf | Hiyerarşi çizelgesi
Örneknbsp; mfc örnek OCLIENT
Ayrıca bkz: CDocTemplate