Bagikan melalui


Kelas COleDocument

Kelas dasar untuk dokumen OLE yang mendukung pengeditan visual.

Sintaks

class COleDocument : public CDocument

Anggota

Konstruktor Publik

Nama Deskripsi
COleDocument::COleDocument Membuat COleDocument objek.

Metode Publik

Nama Deskripsi
COleDocument::AddItem Menambahkan item ke daftar item yang dikelola oleh dokumen.
COleDocument::ApplyPrintDevice Mengatur perangkat target cetak untuk semua item klien dalam dokumen.
COleDocument::EnableCompoundFile Menyebabkan dokumen disimpan menggunakan format file Penyimpanan Terstruktur OLE.
COleDocument::GetInPlaceActiveItem Mengembalikan item OLE yang saat ini aktif di tempat.
COleDocument::GetNextClientItem Mendapatkan item klien berikutnya untuk iterasi.
COleDocument::GetNextItem Mendapatkan item dokumen berikutnya untuk iterasi.
COleDocument::GetNextServerItem Mendapatkan item server berikutnya untuk iterasi.
COleDocument::GetPrimarySelectedItem Mengembalikan item OLE utama yang dipilih dalam dokumen.
COleDocument::GetStartPosition Mendapatkan posisi awal untuk memulai iterasi.
COleDocument::HasBlankItems Memeriksa item kosong dalam dokumen.
COleDocument::OnShowViews Dipanggil ketika dokumen menjadi terlihat atau tidak terlihat.
COleDocument::RemoveItem Menghapus item dari daftar item yang dikelola oleh dokumen.
COleDocument::UpdateModifiedFlag Menandai dokumen sebagai dimodifikasi jika salah satu item OLE yang terkandung telah dimodifikasi.

Metode yang Dilindungi

Nama Deskripsi
COleDocument::OnEditChangeIcon Menangani peristiwa di perintah menu Ubah Ikon.
COleDocument::OnEditConvert Menangani konversi objek yang disematkan atau ditautkan dari satu jenis ke jenis lainnya.
COleDocument::OnEditLinks Menangani peristiwa di perintah Tautan pada menu Edit.
COleDocument::OnFileSendMail Mengirim pesan surat dengan dokumen terlampir.
COleDocument::OnUpdateEditChangeIcon Dipanggil oleh kerangka kerja untuk memperbarui UI perintah untuk opsi menu Edit/Ubah Ikon.
COleDocument::OnUpdateEditLinksMenu Dipanggil oleh kerangka kerja untuk memperbarui UI perintah untuk opsi menu Edit/Tautan.
COleDocument::OnUpdateObjectVerbMenu Dipanggil oleh kerangka kerja untuk memperbarui UI perintah untuk opsi menu Edit/ ObjectName dan submenu Kata Kerja yang diakses dari Edit/ ObjectName.
COleDocument::OnUpdatePasteLinkMenu Dipanggil oleh kerangka kerja untuk memperbarui UI perintah untuk opsi menu Tempel Spesial.
COleDocument::OnUpdatePasteMenu Dipanggil oleh kerangka kerja untuk memperbarui UI perintah untuk opsi menu Tempel.

Keterangan

COleDocument berasal dari CDocument, yang memungkinkan aplikasi OLE Anda untuk menggunakan arsitektur dokumen/tampilan yang disediakan oleh Microsoft Foundation Class Library.

COleDocument memperlakukan dokumen sebagai kumpulan objek CDocItem untuk menangani item OLE. Aplikasi kontainer dan server memerlukan arsitektur seperti itu karena dokumen mereka harus dapat berisi item OLE. Kelas COleServerItem dan COleClientItem , keduanya berasal dari CDocItem, mengelola interaksi antara aplikasi dan item OLE.

Jika Anda menulis aplikasi kontainer sederhana, dapatkan kelas dokumen Anda dari COleDocument. Jika Anda menulis aplikasi kontainer yang mendukung penautan ke item tersemat yang terkandung dalam dokumennya, dapatkan kelas dokumen Anda dari COleLinkingDoc. Jika Anda menulis aplikasi server atau kombinasi kontainer/server, dapatkan kelas dokumen Anda dari COleServerDoc. COleLinkingDoc dan COleServerDoc berasal dari COleDocument, sehingga kelas-kelas ini mewarisi semua layanan yang tersedia di COleDocument dan CDocument.

Untuk menggunakan COleDocument, dapatkan kelas darinya dan tambahkan fungsionalitas untuk mengelola data non-OLE aplikasi serta item yang disematkan atau ditautkan. Jika Anda menentukan CDocItemkelas -turunan untuk menyimpan data asli aplikasi, Anda dapat menggunakan implementasi default yang ditentukan oleh COleDocument untuk menyimpan data OLE dan non-OLE Anda. Anda juga dapat merancang struktur data Anda sendiri untuk menyimpan data non-OLE Anda secara terpisah dari item OLE. Untuk informasi selengkapnya, lihat artikel Kontainer: File Gabungan.

CDocument mendukung pengiriman dokumen Anda melalui email jika ada dukungan email (MAPI). COleDocument telah memperbarui OnFileSendMail untuk menangani dokumen gabungan dengan benar. Untuk informasi selengkapnya, lihat artikel MAPI dan dukungan MAPI di MFC.

Hierarki Warisan

CObject

CCmdTarget

CDocument

COleDocument

Persyaratan

Header: afxole.h

COleDocument::AddItem

Panggil fungsi ini untuk menambahkan item ke dokumen.

virtual void AddItem(CDocItem* pItem);

Parameter

pItem
Penunjuk ke item dokumen yang sedang ditambahkan.

Keterangan

Anda tidak perlu memanggil fungsi ini secara eksplisit ketika dipanggil oleh COleClientItem atau COleServerItem konstruktor yang menerima penunjuk ke dokumen.

COleDocument::ApplyPrintDevice

Panggil fungsi ini untuk mengubah perangkat target cetak untuk semua item COleClientItem yang disematkan dalam dokumen kontainer aplikasi Anda.

BOOL ApplyPrintDevice(const DVTARGETDEVICE* ptd);
BOOL ApplyPrintDevice(const PRINTDLG* ppd);

Parameter

ptd
Penunjuk DVTARGETDEVICE ke struktur data, yang berisi informasi tentang perangkat target cetak baru. Bisa NULL.

Ppd
Penunjuk PRINTDLG ke struktur data, yang berisi informasi tentang perangkat target cetak baru. Bisa NULL.

Tampilkan Nilai

Bukan nol jika fungsi berhasil; jika tidak, 0.

Keterangan

Fungsi ini memperbarui perangkat target cetak untuk semua item tetapi tidak menyegarkan cache presentasi untuk item tersebut. Untuk memperbarui cache presentasi untuk item, panggil COleClientItem::UpdateLink.

Argumen untuk fungsi ini berisi informasi yang digunakan OLE untuk mengidentifikasi perangkat target. Struktur PRINTDLG berisi informasi yang digunakan Windows untuk menginisialisasi kotak dialog Cetak umum. Setelah pengguna menutup kotak dialog, Windows mengembalikan informasi tentang pilihan pengguna dalam struktur ini. Anggota m_pdobjek CPrintDialog adalah PRINTDLG struktur.

Untuk informasi selengkapnya, lihat struktur PRINTDLG di Windows SDK.

Untuk informasi selengkapnya, lihat struktur DVTARGETDEVICE di Windows SDK.

COleDocument::COleDocument

Membuat COleDocument objek.

COleDocument();

COleDocument::EnableCompoundFile

Panggil fungsi ini jika Anda ingin menyimpan dokumen menggunakan format file gabungan.

void EnableCompoundFile(BOOL bEnable = TRUE);

Parameter

bEnable
Menentukan apakah dukungan file gabungan diaktifkan atau dinonaktifkan.

Keterangan

Ini juga disebut penyimpanan terstruktur. Anda biasanya memanggil fungsi ini dari konstruktor kelas turunan Anda COleDocument. Untuk informasi selengkapnya tentang dokumen gabungan, lihat artikel Kontainer: File Campuran.

Jika Anda tidak memanggil fungsi anggota ini, dokumen akan disimpan dalam format file yang tidak terstruktur ("flat").

Setelah dukungan file gabungan diaktifkan atau dinonaktifkan untuk dokumen, pengaturan tidak boleh diubah selama masa pakai dokumen.

COleDocument::GetInPlaceActiveItem

Panggil fungsi ini untuk mendapatkan item OLE yang saat ini diaktifkan di jendela bingkai yang berisi tampilan yang diidentifikasi oleh pWnd.

virtual COleClientItem* GetInPlaceActiveItem(CWnd* pWnd);

Parameter

pWnd
Penunjuk ke jendela yang menampilkan dokumen kontainer.

Tampilkan Nilai

Penunjuk ke item OLE aktif tunggal di tempat; NULL jika tidak ada item OLE yang saat ini dalam status "aktif di tempat".

COleDocument::GetNextClientItem

Panggil fungsi ini berulang kali untuk mengakses setiap item klien dalam dokumen Anda.

COleClientItem* GetNextClientItem(POSITION& pos) const;

Parameter

pos
Referensi ke nilai POSISI yang ditetapkan oleh panggilan sebelumnya ke GetNextClientItem; nilai awal dikembalikan oleh GetStartPosition fungsi anggota.

Tampilkan Nilai

Penunjuk ke item klien berikutnya dalam dokumen, atau NULL jika tidak ada item klien lagi.

Keterangan

Setelah setiap panggilan, nilai pos diatur untuk item berikutnya dalam dokumen, yang mungkin atau mungkin bukan item klien.

Contoh

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
COleClientItem* pItem;
CString strType;
while ((pItem = pDoc->GetNextClientItem(pos)) != NULL)
{
   // Use pItem
   pItem->GetUserType(USERCLASSTYPE_FULL, strType);
   TRACE(strType);
}

COleDocument::GetNextItem

Panggil fungsi ini berulang kali untuk mengakses setiap item dalam dokumen Anda.

virtual CDocItem* GetNextItem(POSITION& pos) const;

Parameter

pos
Referensi ke nilai POSISI yang ditetapkan oleh panggilan sebelumnya ke GetNextItem; nilai awal dikembalikan oleh GetStartPosition fungsi anggota.

Tampilkan Nilai

Penunjuk ke item dokumen pada posisi yang ditentukan.

Keterangan

Setelah setiap panggilan, nilai pos diatur ke nilai POSISI item berikutnya dalam dokumen. Jika elemen yang diambil adalah elemen terakhir dalam dokumen, nilai baru pos adalah NULL.

Contoh

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
CDocItem* pItem;
CString strType;
while (pos != NULL)
{
   pItem = pDoc->GetNextItem(pos);
   // Use pItem
   if (pItem->IsKindOf(RUNTIME_CLASS(COleClientItem)))
   {
      ((COleClientItem*)pItem)->GetUserType(USERCLASSTYPE_FULL, strType);
      TRACE(strType);
   }
}

COleDocument::GetNextServerItem

Panggil fungsi ini berulang kali untuk mengakses setiap item server dalam dokumen Anda.

COleServerItem* GetNextServerItem(POSITION& pos) const;

Parameter

pos
Referensi ke nilai POSISI yang ditetapkan oleh panggilan sebelumnya ke GetNextServerItem; nilai awal dikembalikan oleh GetStartPosition fungsi anggota.

Tampilkan Nilai

Penunjuk ke item server berikutnya dalam dokumen, atau NULL jika tidak ada item server lagi.

Keterangan

Setelah setiap panggilan, nilai pos diatur untuk item berikutnya dalam dokumen, yang mungkin atau mungkin bukan item server.

Contoh

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
COleServerItem* pItem;
while ((pItem = pDoc->GetNextServerItem(pos)) != NULL)
{
   // Use pItem
}

COleDocument::GetPrimarySelectedItem

Dipanggil oleh kerangka kerja untuk mengambil item OLE yang saat ini dipilih dalam tampilan yang ditentukan.

virtual COleClientItem* GetPrimarySelectedItem(CView* pView);

Parameter

pView
Penunjuk ke objek tampilan aktif yang menampilkan dokumen.

Tampilkan Nilai

Penunjuk ke item OLE tunggal yang dipilih; NULL jika tidak ada item OLE yang dipilih atau jika lebih dari satu dipilih.

Keterangan

Implementasi default mencari daftar item OLE yang terkandung untuk satu item yang dipilih dan mengembalikan penunjuk ke item tersebut. Jika tidak ada item yang dipilih, atau jika ada lebih dari satu item yang dipilih, fungsi mengembalikan NULL. Anda harus mengambil alih CView::IsSelected fungsi anggota di kelas tampilan Anda agar fungsi ini berfungsi. Ambil alih fungsi ini jika Anda memiliki metode anda sendiri untuk menyimpan item OLE yang terkandung.

COleDocument::GetStartPosition

Panggil fungsi ini untuk mendapatkan posisi item pertama dalam dokumen.

virtual POSITION GetStartPosition() const;

Tampilkan Nilai

Nilai POSISI yang dapat digunakan untuk mulai melakukan iterasi melalui item dokumen; NULL jika dokumen tidak memiliki item.

Keterangan

Teruskan nilai yang dikembalikan ke GetNextItem, GetNextClientItem, atau GetNextServerItem.

COleDocument::HasBlankItems

Panggil fungsi ini untuk menentukan apakah dokumen berisi item kosong.

BOOL HasBlankItems() const;

Tampilkan Nilai

Bukan nol jika dokumen berisi item kosong; jika tidak, 0.

Keterangan

Item kosong adalah item yang persegi panjangnya kosong.

COleDocument::OnEditChangeIcon

Menampilkan kotak dialog Ubah Ikon OLE dan mengubah ikon yang mewakili item OLE yang saat ini dipilih ke ikon yang dipilih pengguna dalam kotak dialog.

afx_msg void OnEditChangeIcon();

Keterangan

OnEditChangeIcon membuat dan meluncurkan COleChangeIconDialog kotak dialog Ubah Ikon.

COleDocument::OnEditConvert

Menampilkan kotak dialog Konversi OLE dan mengonversi atau mengaktifkan item OLE yang saat ini dipilih sesuai dengan pilihan pengguna dalam kotak dialog.

afx_msg void OnEditConvert();

Keterangan

OnEditConvert membuat dan meluncurkan COleConvertDialog kotak dialog Konversi.

Contoh konversi adalah mengonversi dokumen Microsoft Word menjadi dokumen WordPad.

Menampilkan kotak dialog Edit/Tautan OLE.

afx_msg void OnEditLinks();

Keterangan

OnEditLinks membuat dan meluncurkan COleLinksDialog kotak dialog Tautan yang memungkinkan pengguna mengubah objek tertaut.

COleDocument::OnFileSendMail

Mengirim pesan melalui host email penduduk (jika ada) dengan dokumen sebagai lampiran.

afx_msg void OnFileSendMail();

Keterangan

OnFileSendMail OnSaveDocument panggilan untuk membuat serialisasi (menyimpan) dokumen yang tidak berjudul dan dimodifikasi ke file sementara, yang kemudian dikirim melalui surat elektronik. Jika dokumen belum dimodifikasi, file sementara tidak diperlukan; aslinya dikirim. OnFileSendMail memuat MAPI32.DLL jika belum dimuat.

Tidak seperti implementasi OnFileSendMail untuk CDocument, fungsi ini menangani file gabungan dengan benar.

Untuk informasi selengkapnya, lihat Topik MAPI dan dukungan MAPI di artikel MFC.

COleDocument::OnShowViews

Kerangka kerja memanggil fungsi ini setelah status visibilitas dokumen berubah.

virtual void OnShowViews(BOOL bVisible);

Parameter

bVisible
Menunjukkan apakah dokumen telah menjadi terlihat atau tidak terlihat.

Keterangan

Versi default fungsi ini tidak melakukan apa pun. Ambil alih jika aplikasi Anda harus melakukan pemrosesan khusus saat visibilitas dokumen berubah.

COleDocument::OnUpdateEditChangeIcon

Dipanggil oleh kerangka kerja untuk memperbarui perintah Ubah Ikon pada menu Edit.

afx_msg void OnUpdateEditChangeIcon(CCmdUI* pCmdUI);

Parameter

pCmdUI
Penunjuk ke CCmdUI struktur yang mewakili menu yang menghasilkan perintah pembaruan. Handler pembaruan memanggil Enable fungsi CCmdUI anggota struktur melalui pCmdUI untuk memperbarui antarmuka pengguna.

Keterangan

OnUpdateEditChangeIcon memperbarui antarmuka pengguna perintah tergantung pada apakah ikon yang valid ada di dokumen atau tidak. Ambil alih fungsi ini untuk mengubah perilaku.

COleDocument::OnUpdateEditLinksMenu

Dipanggil oleh kerangka kerja untuk memperbarui perintah Tautan pada menu Edit.

afx_msg void OnUpdateEditLinksMenu(CCmdUI* pCmdUI);

Parameter

pCmdUI
Penunjuk ke CCmdUI struktur yang mewakili menu yang menghasilkan perintah pembaruan. Handler pembaruan memanggil Enable fungsi CCmdUI anggota struktur melalui pCmdUI untuk memperbarui antarmuka pengguna.

Keterangan

Dimulai dengan item OLE pertama dalam dokumen, OnUpdateEditLinksMenu mengakses setiap item, menguji apakah item tersebut adalah tautan, dan, jika itu adalah tautan, mengaktifkan perintah Tautan. Ambil alih fungsi ini untuk mengubah perilaku.

COleDocument::OnUpdateObjectVerbMenu

Dipanggil oleh kerangka kerja untuk memperbarui perintah ObjectName pada menu Edit dan submenu Kata Kerja yang diakses dari perintah ObjectName , di mana ObjectName adalah nama objek OLE yang disematkan dalam dokumen.

afx_msg void OnUpdateObjectVerbMenu(CCmdUI* pCmdUI);

Parameter

pCmdUI
Penunjuk ke CCmdUI struktur yang mewakili menu yang menghasilkan perintah pembaruan. Handler pembaruan memanggil Enable fungsi CCmdUI anggota struktur melalui pCmdUI untuk memperbarui antarmuka pengguna.

Keterangan

OnUpdateObjectVerbMenu memperbarui antarmuka pengguna perintah ObjectName tergantung pada apakah objek yang valid ada dalam dokumen atau tidak. Jika ada objek, perintah ObjectName pada menu Edit diaktifkan. Ketika perintah menu ini dipilih, submenu Kata Kerja ditampilkan. Submenu Kata Kerja berisi semua perintah kata kerja yang tersedia untuk objek, seperti Edit, Properti, dan sebagainya. Ambil alih fungsi ini untuk mengubah perilaku.

COleDocument::OnUpdatePasteLinkMenu

Dipanggil oleh kerangka kerja untuk menentukan apakah item OLE yang ditautkan dapat ditempelkan dari Clipboard.

afx_msg void OnUpdatePasteLinkMenu(CCmdUI* pCmdUI);

Parameter

pCmdUI
Penunjuk ke CCmdUI struktur yang mewakili menu yang menghasilkan perintah pembaruan. Handler pembaruan memanggil Enable fungsi CCmdUI anggota struktur melalui pCmdUI untuk memperbarui antarmuka pengguna.

Keterangan

Perintah menu Tempel Spesial diaktifkan atau dinonaktifkan tergantung pada apakah item dapat ditempelkan ke dalam dokumen atau tidak.

COleDocument::OnUpdatePasteMenu

Dipanggil oleh kerangka kerja untuk menentukan apakah item OLE yang disematkan dapat ditempelkan dari Clipboard.

afx_msg void OnUpdatePasteMenu(CCmdUI* pCmdUI);

Parameter

pCmdUI
Penunjuk ke CCmdUI struktur yang mewakili menu yang menghasilkan perintah pembaruan. Handler pembaruan memanggil Enable fungsi CCmdUI anggota struktur melalui pCmdUI untuk memperbarui antarmuka pengguna.

Keterangan

Perintah dan tombol menu Tempel diaktifkan atau dinonaktifkan tergantung pada apakah item dapat ditempelkan ke dalam dokumen atau tidak.

COleDocument::RemoveItem

Panggil fungsi ini untuk menghapus item dari dokumen.

virtual void RemoveItem(CDocItem* pItem);

Parameter

pItem
Penunjuk ke item dokumen yang akan dihapus.

Keterangan

Anda biasanya tidak perlu memanggil fungsi ini secara eksplisit; itu dipanggil oleh destruktor untuk COleClientItem dan COleServerItem.

COleDocument::UpdateModifiedFlag

Panggil fungsi ini untuk menandai dokumen sebagai dimodifikasi jika salah satu item OLE yang terkandung telah dimodifikasi.

virtual void UpdateModifiedFlag();

Keterangan

Ini memungkinkan kerangka kerja untuk meminta pengguna menyimpan dokumen sebelum menutup, bahkan jika data asli dalam dokumen belum dimodifikasi.

Lihat juga

KonTAINER Sampel MFC
MFC Sampel MFCBIND
Kelas CDocument
Bagan Hierarki