Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
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