Aracılığıyla paylaş


COleLinkingDoc Sınıfı

İçerdikleri katıştırılmış öğelere bağlanmayı destekleyen OLE kapsayıcı belgeleri için temel sınıf.

Sözdizimi

class COleLinkingDoc : public COleDocument

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
COleLinkingDoc::COleLinkingDoc Bir COleLinkingDoc nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
COleLinkingDoc::Register Belgeyi OLE sistemi DLL'lerine kaydeder.
COleLinkingDoc::Revoke Belgenin kaydını iptal eder.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
COleLinkingDoc::OnFindEmbeddedItem Belirtilen eklenmiş öğeyi bulur.
COleLinkingDoc::OnGetLinkedItem Belirtilen bağlı öğeyi bulur.

Açıklamalar

Katıştırılmış öğelere bağlanmayı destekleyen bir kapsayıcı uygulamasına "bağlantı kapsayıcısı" adı verilir. OCLIENT örnek uygulaması bir bağlantı kapsayıcısı örneğidir.

Bağlantılı öğenin kaynağı başka bir belgede eklenmiş bir öğe olduğunda, eklenmiş öğenin düzenlenebilmesi için belgeyi içeren öğenin yüklenmesi gerekir. Bu nedenle, kullanıcı bağlı bir öğenin kaynağını düzenlemek istediğinde bağlantı kapsayıcısının başka bir kapsayıcı uygulaması tarafından başlatılabilmesi gerekir. Uygulamanızın program aracılığıyla başlatıldığında belge oluşturabilmesi için COleTemplateServer sınıfını da kullanması gerekir.

Kapsayıcınızı bir bağlantı kapsayıcısı yapmak için, COleDocument yerine belge sınıfınızı öğesinden COleLinkingDoc türetin. Diğer tüm OLE kapsayıcılarında olduğu gibi, uygulamanızın yerel verilerinin yanı sıra eklenmiş veya bağlı öğeleri depolamak için sınıfınızı tasarlamanız gerekir. Ayrıca, yerel verilerinizi depolamak için veri yapıları tasarlamanız gerekir. Uygulamanızın yerel verileri için türetilmiş bir CDocItemsınıf tanımlarsanız, yerel verilerinizi ve OLE verilerinizi depolamak için tarafından COleDocument tanımlanan arabirimi kullanabilirsiniz.

Uygulamanızın başka bir kapsayıcı tarafından program aracılığıyla başlatılmasına izin vermek için, bir COleTemplateServer nesneyi uygulamanızın CWinApptüretilmiş sınıfının bir üyesi olarak bildirin:

class COleContainerApp : public CWinApp
{
protected:
   COleTemplateServer m_server;
   // remainder of class declaration omitted

InitInstance Türetilmiş sınıfınızın CWinAppüye işlevinde bir belge şablonu oluşturun ve türetilmiş sınıfınızı COleLinkingDocbelge sınıfı olarak belirtin:

// CMyLinkDoc is derived from COleLinkingDoc
CMultiDocTemplate* pDocTemplate = new CMultiDocTemplate(IDR_LINKDOCTYPE,
   RUNTIME_CLASS(CMyLinkDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CMyLinkView));
if (!pDocTemplate)
return FALSE;
pDocTemplate->SetContainerInfo(IDR_OLECONTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate);

Nesnenin üye işlevini çağırarak nesnenizi COleTemplateServer ConnectTemplate belge şablonlarınıza bağlayın ve çağırarak COleTemplateServer::RegisterAlltüm sınıf nesnelerini OLE sistemine kaydedin:

m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();

Örnek CWinApptüretilmiş sınıf tanımı ve InitInstance işlevi için bkz. OCLIENT. H ve OCLIENT. MFC örneği OCLIENT içindeki CPP.

kullanma COleLinkingDochakkında daha fazla bilgi için Kapsayıcılar: Kapsayıcı uygulama ve Kapsayıcılar: Gelişmiş Özellikler makalelerine bakın.

Devralma Hiyerarşisi

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Gereksinimler

Üst bilgi: afxole.h

COleLinkingDoc::COleLinkingDoc

OLE sistemi DLL'leriyle iletişim başlatmadan bir COleLinkingDoc nesne oluşturur.

COleLinkingDoc();

Açıklamalar

OLE'ye belgenin Register açık olduğunu bildirmek için üye işlevini çağırmanız gerekir.

COleLinkingDoc::OnFindEmbeddedItem

Belgenin belirtilen ada sahip eklenmiş bir OLE öğesi içerip içermediğini belirlemek için çerçeve tarafından çağrılır.

virtual COleClientItem* OnFindEmbeddedItem(LPCTSTR lpszItemName);

Parametreler

lpszItemName
İstenen katıştırılmış OLE öğesinin adına işaretçi.

Dönüş Değeri

Belirtilen öğeye ilişkin bir işaretçi; Öğe bulunamazsa NULL.

Açıklamalar

Varsayılan uygulama, belirtilen ada sahip bir öğe için katıştırılmış öğeler listesinde arama gerçekleştirir (ad karşılaştırması büyük/küçük harfe duyarlıdır). Katıştırılmış OLE öğelerini depolamak veya adlandırmak için kendi yönteminiz varsa bu işlevi geçersiz kılın.

COleLinkingDoc::OnGetLinkedItem

Belgenin belirtilen ada sahip bir bağlı sunucu öğesi içerip içermediğini denetlemek için çerçeve tarafından çağrılır.

virtual COleServerItem* OnGetLinkedItem(LPCTSTR lpszItemName);

Parametreler

lpszItemName
İstenen bağlı OLE öğesinin adına işaretçi.

Dönüş Değeri

Belirtilen öğeye ilişkin bir işaretçi; Öğe bulunamazsa NULL.

Açıklamalar

Varsayılan COleLinkingDoc uygulama her zaman NULL döndürür. Bu işlev türetilmiş sınıfta COleServerDoc geçersiz kılınarak ole sunucu öğeleri listesinde belirtilen ada sahip bağlantılı bir öğe aranabilir (ad karşılaştırması büyük/küçük harfe duyarlıdır). Bağlı sunucu öğelerini depolamak veya almak için kendi yönteminizi uyguladıysanız bu işlevi geçersiz kılın.

COleLinkingDoc::Register

OLE sistem DLL'lerine belgenin açık olduğunu bildirir.

BOOL Register(
    COleObjectFactory* pFactory,
    LPCTSTR lpszPathName);

Parametreler

pFactory
OLE fabrika nesnesine yönelik işaretçi (NULL olabilir).

lpszPathName
Kapsayıcı belgesinin tam yolunun işaretçisi.

Dönüş Değeri

Belge başarıyla kaydedildiyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Belgeyi OLE sistem DLL'lerine kaydetmek için adlandırılmış bir dosya oluştururken veya açarken bu işlevi çağırın. Belge eklenmiş bir öğeyi temsil ediyorsa bu işlevi çağırmaya gerek yoktur.

Uygulamanızda kullanıyorsanız COleTemplateServer , Register ve OnSaveDocumentuygulaması tarafından COleLinkingDocsizin için çağrılırOnNewDocumentOnOpenDocument.

COleLinkingDoc::Revoke

OLE sistem DLL'lerine belgenin artık açık olmadığını bildirir.

void Revoke();

Açıklamalar

Belgenin OLE sistemi DLL'lerine kaydını iptal etmek için bu işlevi çağırın.

Adlandırılmış bir dosyayı kapatırken bu işlevi çağırmanız gerekir, ancak genellikle doğrudan çağırmanız gerekmez. Revoke, , OnNewDocumentve uygulaması tarafından COleLinkingDocsizin için çağrılırOnCloseDocument. OnOpenDocumentOnSaveDocument

Ayrıca bkz.

MFC Örnek OCLIENT
COleDocument Sınıfı
Hiyerarşi Grafiği
CDocTemplate Sınıfı