Bagikan melalui


Kelas COleLinkingDoc

Kelas dasar untuk dokumen kontainer OLE yang mendukung penautan ke item yang disematkan di dalamnya.

Sintaks

class COleLinkingDoc : public COleDocument

Anggota

Konstruktor Publik

Nama Deskripsi
COleLinkingDoc::COleLinkingDoc Membuat COleLinkingDoc objek.

Metode Publik

Nama Deskripsi
COleLinkingDoc::Register Mendaftarkan dokumen dengan DLL sistem OLE.
COleLinkingDoc::Revoke Mencabut pendaftaran dokumen.

Metode yang Dilindungi

Nama Deskripsi
COleLinkingDoc::OnFindEmbeddedItem Menemukan item yang disematkan yang ditentukan.
COleLinkingDoc::OnGetLinkedItem Menemukan item tertaut yang ditentukan.

Keterangan

Aplikasi kontainer yang mendukung penautan ke item yang disematkan disebut "kontainer tautan." Aplikasi sampel OCLIENT adalah contoh kontainer tautan.

Saat sumber item tertaut adalah item yang disematkan di dokumen lain, dokumen yang berisi harus dimuat agar item yang disematkan diedit. Untuk alasan ini, kontainer tautan harus dapat diluncurkan oleh aplikasi kontainer lain ketika pengguna ingin mengedit sumber item yang ditautkan. Aplikasi Anda juga harus menggunakan kelas COleTemplateServer sehingga dapat membuat dokumen saat diluncurkan secara terprogram.

Untuk menjadikan kontainer Anda sebagai kontainer tautan, dapatkan kelas dokumen Anda dari COleLinkingDoc bukan COleDocument. Seperti halnya kontainer OLE lainnya, Anda harus merancang kelas Anda untuk menyimpan data asli aplikasi serta item yang disematkan atau ditautkan. Selain itu, Anda harus merancang struktur data untuk menyimpan data asli Anda. Jika Anda menentukan CDocItemkelas -turunan untuk data asli aplikasi, Anda dapat menggunakan antarmuka yang ditentukan oleh COleDocument untuk menyimpan data asli serta data OLE Anda.

Untuk memungkinkan aplikasi Anda diluncurkan secara terprogram oleh kontainer lain, nyatakan COleTemplateServer objek sebagai anggota kelas -turunan aplikasi CWinAppAnda:

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

InitInstance Dalam fungsi anggota kelas turunan AndaCWinApp, buat templat dokumen dan tentukan kelas turunan Anda COleLinkingDocsebagai kelas dokumen:

// 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);

Sambungkan objek Anda COleTemplateServer ke templat dokumen Anda dengan memanggil fungsi anggota objek ConnectTemplate , dan daftarkan semua objek kelas dengan sistem OLE dengan memanggil COleTemplateServer::RegisterAll:

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

Untuk contoh CWinAppdefinisi dan InitInstance fungsi kelas turunan, lihat OCLIENT. H dan OCLIENT. CPP dalam sampel MFC OCLIENT.

Untuk informasi selengkapnya tentang menggunakan COleLinkingDoc, lihat artikel Kontainer: Menerapkan Kontainer dan Kontainer: Fitur Tingkat Lanjut.

Hierarki Warisan

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Persyaratan

Header: afxole.h

COleLinkingDoc::COleLinkingDoc

Membuat COleLinkingDoc objek tanpa memulai komunikasi dengan DLL sistem OLE.

COleLinkingDoc();

Keterangan

Anda harus memanggil Register fungsi anggota untuk memberi tahu OLE bahwa dokumen terbuka.

COleLinkingDoc::OnFindEmbeddedItem

Dipanggil oleh kerangka kerja untuk menentukan apakah dokumen berisi item OLE yang disematkan dengan nama yang ditentukan.

virtual COleClientItem* OnFindEmbeddedItem(LPCTSTR lpszItemName);

Parameter

lpszItemName
Penunjuk ke nama item OLE yang disematkan yang diminta.

Tampilkan Nilai

Penunjuk ke item yang ditentukan; NULL jika item tidak ditemukan.

Keterangan

Implementasi default mencari daftar item yang disematkan untuk item dengan nama yang ditentukan (perbandingan nama peka huruf besar/kecil). Ambil alih fungsi ini jika Anda memiliki metode Anda sendiri untuk menyimpan atau menamai item OLE yang disematkan.

COleLinkingDoc::OnGetLinkedItem

Dipanggil oleh kerangka kerja untuk memeriksa apakah dokumen berisi item server tertaut dengan nama yang ditentukan.

virtual COleServerItem* OnGetLinkedItem(LPCTSTR lpszItemName);

Parameter

lpszItemName
Penunjuk ke nama item OLE tertaut yang diminta.

Tampilkan Nilai

Penunjuk ke item yang ditentukan; NULL jika item tidak ditemukan.

Keterangan

Implementasi default COleLinkingDoc selalu mengembalikan NULL. Fungsi ini ditimpa di kelas COleServerDoc turunan untuk mencari daftar item server OLE untuk item tertaut dengan nama yang ditentukan (perbandingan nama peka huruf besar/kecil). Ambil alih fungsi ini jika Anda telah menerapkan metode Anda sendiri untuk menyimpan atau mengambil item server tertaut.

COleLinkingDoc::Register

Menginformasikan DLL sistem OLE bahwa dokumen terbuka.

BOOL Register(
    COleObjectFactory* pFactory,
    LPCTSTR lpszPathName);

Parameter

pFactory
Pointer ke objek pabrik OLE (bisa NULL).

lpszPathName
Penunjuk ke jalur dokumen kontainer yang sepenuhnya memenuhi syarat.

Tampilkan Nilai

Bukan nol jika dokumen berhasil didaftarkan; jika tidak, 0.

Keterangan

Panggil fungsi ini saat membuat atau membuka file bernama untuk mendaftarkan dokumen dengan DLL sistem OLE. Tidak perlu memanggil fungsi ini jika dokumen mewakili item yang disematkan.

Jika Anda menggunakan COleTemplateServer dalam aplikasi Anda, Register dipanggil untuk Anda dengan COleLinkingDocimplementasi OnNewDocument, , OnOpenDocumentdan OnSaveDocument.

COleLinkingDoc::Revoke

Menginformasikan DLL sistem OLE bahwa dokumen tidak lagi terbuka.

void Revoke();

Keterangan

Panggil fungsi ini untuk mencabut pendaftaran dokumen dengan DLL sistem OLE.

Anda harus memanggil fungsi ini saat menutup file bernama, tetapi Anda biasanya tidak perlu memanggilnya secara langsung. Revokedipanggil untuk Anda oleh COleLinkingDocimplementasi OnCloseDocument, , OnNewDocumentOnOpenDocument, dan OnSaveDocument.

Lihat juga

Sampel MFC OCLIENT
Kelas COleDocument
Bagan Hierarki
Kelas CDocTemplate