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 CDocItem
kelas -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
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_pd
objek 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.
COleDocument::OnEditLinks
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