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 CDocItem
sı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 CWinApp
tü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ı COleLinkingDoc
belge 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::RegisterAll
tüm sınıf nesnelerini OLE sistemine kaydedin:
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();
Örnek CWinApp
tü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 COleLinkingDoc
hakkı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
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 OnSaveDocument
uygulaması tarafından COleLinkingDoc
sizin için çağrılırOnNewDocument
OnOpenDocument
.
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
, , OnNewDocument
ve uygulaması tarafından COleLinkingDoc
sizin için çağrılırOnCloseDocument
. OnOpenDocument
OnSaveDocument
Ayrıca bkz.
MFC Örnek OCLIENT
COleDocument Sınıfı
Hiyerarşi Grafiği
CDocTemplate Sınıfı