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.
Menyediakan antarmuka server untuk item OLE.
Sintaks
class COleServerItem : public CDocItem
Anggota
Konstruktor yang Dilindungi
| Nama | Deskripsi |
|---|---|
| COleServerItem::COleServerItem | Membuat COleServerItem objek. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| COleServerItem::AddOtherClipboardData | Menempatkan format presentasi dan konversi dalam objek COleDataSource . |
| COleServerItem::CopyToClipboard | Menyalin item ke Clipboard. |
| COleServerItem::D oDragDrop | Melakukan operasi seret dan letakkan. |
| COleServerItem::GetClipboardData | Mendapatkan sumber data untuk digunakan dalam transfer data (seret dan letakkan atau Clipboard). |
| COleServerItem::GetDocument | Mengembalikan dokumen server yang berisi item. |
| COleServerItem::GetEmbedSourceData | Mendapatkan data CF_EMBEDSOURCE untuk item OLE. |
| COleServerItem::GetItemName | Mengembalikan nama item. Digunakan hanya untuk item tertaut. |
| COleServerItem::GetLinkSourceData | Mendapatkan data CF_LINKSOURCE untuk item OLE. |
| COleServerItem::GetObjectDescriptorData | Mendapatkan data CF_OBJECTDESCRIPTOR untuk item OLE. |
| COleServerItem::IsConnected | Menunjukkan apakah item saat ini dilampirkan ke kontainer aktif. |
| COleServerItem::IsLinkedItem | Menunjukkan apakah item mewakili item OLE tertaut. |
| COleServerItem::NotifyChanged | Memperbarui semua kontainer dengan pembaruan tautan otomatis. |
| COleServerItem::OnDoVerb | Dipanggil untuk menjalankan kata kerja. |
| COleServerItem::OnDraw | Dipanggil ketika kontainer meminta untuk menggambar item; implementasi yang diperlukan. |
| COleServerItem::OnDrawEx | Dipanggil untuk gambar item khusus. |
| COleServerItem::OnGetClipboardData | Dipanggil oleh kerangka kerja untuk mendapatkan data yang akan disalin ke Clipboard. |
| COleServerItem::OnGetExtent | Dipanggil oleh kerangka kerja untuk mengambil ukuran item OLE. |
| COleServerItem::OnInitFromData | Dipanggil oleh kerangka kerja untuk menginisialisasi item OLE menggunakan konten objek transfer data yang ditentukan. |
| COleServerItem::OnQueryUpdateItems | Dipanggil untuk menentukan apakah ada item tertaut yang memerlukan pembaruan. |
| COleServerItem::OnRenderData | Mengambil data sebagai bagian dari penyajian yang tertunda. |
| COleServerItem::OnRenderFileData | Mengambil data ke dalam CFile objek sebagai bagian dari penyajian yang tertunda. |
| COleServerItem::OnRenderGlobalData | Mengambil data ke dalam HGLOBAL sebagai bagian dari penyajian yang tertunda. |
| COleServerItem::OnSetColorScheme | Dipanggil untuk mengatur skema warna item. |
| COleServerItem::OnSetData | Dipanggil untuk mengatur data item. |
| COleServerItem::OnSetExtent | Dipanggil oleh kerangka kerja untuk mengatur ukuran item OLE. |
| COleServerItem::OnUpdate | Dipanggil ketika beberapa bagian dokumen tempat item berada diubah. |
| COleServerItem::OnUpdateItems | Dipanggil untuk memperbarui cache presentasi semua item dalam dokumen server. |
| COleServerItem::SetItemName | Mengatur nama item. Digunakan hanya untuk item tertaut. |
Metode yang Dilindungi
| Nama | Deskripsi |
|---|---|
| COleServerItem::GetDataSource | Mendapatkan objek yang digunakan untuk menyimpan format konversi. |
| COleServerItem::OnHide | Dipanggil oleh kerangka kerja untuk menyembunyikan item OLE. |
| COleServerItem::OnOpen | Dipanggil oleh kerangka kerja untuk menampilkan item OLE di jendela tingkat atasnya sendiri. |
| COleServerItem::OnShow | Dipanggil saat kontainer meminta untuk menampilkan item. |
Anggota Data Publik
| Nama | Deskripsi |
|---|---|
| COleServerItem::m_sizeExtent | Menginformasikan server tentang berapa banyak item OLE yang terlihat. |
Keterangan
Item tertaut dapat mewakili beberapa atau semua dokumen server. Item yang disematkan selalu mewakili seluruh dokumen server.
Kelas COleServerItem mendefinisikan beberapa fungsi anggota yang dapat diganti yang dipanggil oleh pustaka tautan dinamis (DLL) sistem OLE, biasanya sebagai respons terhadap permintaan dari aplikasi kontainer. Fungsi anggota ini memungkinkan aplikasi kontainer untuk memanipulasi item secara tidak langsung dengan berbagai cara, seperti dengan menampilkannya, menjalankan kata kerjanya, atau mengambil datanya dalam berbagai format.
Untuk menggunakan COleServerItem, dapatkan kelas darinya dan terapkan fungsi anggota OnDraw dan Serialize . Fungsi ini OnDraw menyediakan representasi metafile item, memungkinkannya ditampilkan saat aplikasi kontainer membuka dokumen majemuk. Fungsi Serialize CObject menyediakan representasi asli item, memungkinkan item yang disematkan ditransfer antara server dan aplikasi kontainer. OnGetExtent menyediakan ukuran alami item ke kontainer, memungkinkan kontainer untuk mengukur item.
Untuk informasi selengkapnya tentang server dan topik terkait, lihat artikel Server: Menerapkan Server dan "Membuat Aplikasi Kontainer/Server" dalam artikel Kontainer: Fitur Tingkat Lanjut.
Hierarki Warisan
COleServerItem
Persyaratan
Header: afxole.h
COleServerItem::AddOtherClipboardData
Panggil fungsi ini untuk menempatkan format presentasi dan konversi untuk item OLE dalam objek yang ditentukan COleDataSource .
void AddOtherClipboardData(COleDataSource* pDataSource);
Parameter
pDataSource
Penunjuk ke COleDataSource objek tempat data harus ditempatkan.
Keterangan
Anda harus menerapkan fungsi anggota OnDraw untuk menyediakan format presentasi (gambar metafile) untuk item tersebut. Untuk mendukung format konversi lainnya, daftarkan menggunakan objek COleDataSource yang dikembalikan oleh GetDataSource dan ambil alih fungsi anggota OnRenderData untuk menyediakan data dalam format yang ingin Anda dukung.
COleServerItem::COleServerItem
Membuat COleServerItem objek dan menambahkannya ke kumpulan item dokumen dokumen server.
COleServerItem(
COleServerDoc* pServerDoc,
BOOL bAutoDelete);
Parameter
pServerDoc
Arahkan ke dokumen yang akan berisi item baru.
bAutoDelete
Bendera yang menunjukkan apakah objek dapat dihapus saat tautan ke objek tersebut dirilis. Atur ini ke FALSE jika COleServerItem objek adalah bagian integral dari data dokumen Yang harus Anda hapus. Atur ini ke TRUE jika objek adalah struktur sekunder yang digunakan untuk mengidentifikasi rentang dalam data dokumen Anda yang dapat dihapus oleh kerangka kerja.
COleServerItem::CopyToClipboard
Panggil fungsi ini untuk menyalin item OLE ke Clipboard.
void CopyToClipboard(BOOL bIncludeLink = FALSE);
Parameter
bIncludeLink
Atur ini ke TRUE jika data tautan harus disalin ke Clipboard. Atur ini ke FALSE jika aplikasi server Anda tidak mendukung tautan.
Keterangan
Fungsi ini menggunakan fungsi anggota OnGetClipboardData untuk membuat objek COleDataSource yang berisi data item OLE dalam format yang didukung. Fungsi kemudian menempatkan COleDataSource objek di Clipboard dengan menggunakan fungsi COleDataSource::SetClipboard . Objek COleDataSource mencakup data asli item dan representasinya dalam format CF_METAFILEPICT, serta data dalam format konversi apa pun yang Anda pilih untuk didukung. Anda harus menerapkan Serialize dan OnDraw agar fungsi anggota ini berfungsi.
COleServerItem::D oDragDrop
DoDragDrop Panggil fungsi anggota untuk melakukan operasi seret dan letakkan.
DROPEFFECT DoDragDrop(
LPCRECT lpRectItem,
CPoint ptOffset,
BOOL bIncludeLink = FALSE,
DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
LPCRECT lpRectStartDrag = NULL);
Parameter
lpRectItem
Persegi panjang item di layar, dalam piksel, relatif terhadap area klien.
ptOffset
Offset dari lpItemRect tempat posisi mouse berada pada saat seret.
bIncludeLink
Atur ini ke TRUE jika data tautan harus disalin ke Clipboard. Atur ke FALSE jika aplikasi Anda tidak mendukung tautan.
dwEffects
Menentukan efek yang akan diizinkan sumber seret dalam operasi seret (kombinasi Salin, Pindahkan, dan Tautkan).
lpRectStartDrag
Penunjuk ke persegi panjang yang menentukan di mana seret benar-benar dimulai. Untuk informasi selengkapnya, lihat bagian Komentar berikut ini.
Tampilkan Nilai
Nilai dari enumerasi DROPEFFECT. Jika DROPEFFECT_MOVE, data asli harus dihapus.
Keterangan
Operasi seret dan letakkan tidak segera dimulai. Ini menunggu sampai kursor mouse meninggalkan persegi panjang yang ditentukan oleh lpRectStartDrag atau sampai jumlah milidetik yang ditentukan telah berlalu. Jika lpRectStartDrag adalah NULL, persegi panjang default digunakan sehingga seret dimulai saat kursor mouse memindahkan satu piksel.
Waktu penundaan ditentukan oleh pengaturan kunci registri. Anda dapat mengubah waktu penundaan dengan memanggil CWinApp::WriteProfileString atau CWinApp::WriteProfileInt. Jika Anda tidak menentukan waktu penundaan, nilai default 200 milidetik akan digunakan. Waktu penundaan seret disimpan sebagai berikut:
Waktu penundaan Seret Windows NT disimpan di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.
Waktu penundaan Seret Windows 3.x disimpan di WIN. File INI, di bawah bagian [Windows}.
Waktu penundaan Seret Windows 95/98 disimpan dalam versi WIN yang di-cache. INI.
Untuk informasi selengkapnya tentang bagaimana informasi penundaan seret disimpan di registri atau . File INI, lihat WriteProfileString di Windows SDK.
COleServerItem::GetClipboardData
Panggil fungsi ini untuk mengisi objek COleDataSource yang ditentukan dengan semua data yang akan disalin ke Clipboard jika Anda memanggil CopyToClipboard (data yang sama juga akan ditransfer jika Anda memanggil DoDragDrop).
void GetClipboardData(
COleDataSource* pDataSource,
BOOL bIncludeLink = FALSE,
LPPOINT lpOffset = NULL,
LPSIZE lpSize = NULL);
Parameter
pDataSource
Penunjuk ke COleDataSource objek yang akan menerima data item OLE dalam semua format yang didukung.
bIncludeLink
TRUE jika data tautan harus disalin ke Clipboard. FALSE jika aplikasi server Anda tidak mendukung tautan.
lpOffset
Offset, dalam piksel, kursor mouse dari asal objek.
lpSize
Ukuran objek dalam piksel.
Keterangan
Fungsi ini memanggil fungsi anggota GetEmbedSourceData untuk mendapatkan data asli untuk item OLE dan memanggil fungsi anggota AddOtherClipboardData untuk mendapatkan format presentasi dan format konversi yang didukung. Jika bIncludeLink TRUE, fungsi ini juga memanggil GetLinkSourceData untuk mendapatkan data tautan untuk item tersebut.
Ambil alih fungsi ini jika Anda ingin menempatkan format dalam COleDataSource objek sebelum atau sesudah format yang disediakan oleh CopyToClipboard.
COleServerItem::GetDataSource
Panggil fungsi ini untuk mendapatkan objek COleDataSource yang digunakan untuk menyimpan format konversi yang didukung aplikasi server.
COleDataSource* GetDataSource();
Tampilkan Nilai
Penunjuk ke objek yang COleDataSource digunakan untuk menyimpan format konversi.
Keterangan
Jika Anda ingin aplikasi server Anda menawarkan data dalam berbagai format selama operasi transfer data, daftarkan format tersebut dengan objek yang COleDataSource dikembalikan oleh fungsi ini. Misalnya, jika Anda ingin menyediakan representasi CF_TEXT item OLE untuk operasi Clipboard atau seret dan letakkan, Anda akan mendaftarkan format dengan COleDataSource objek yang dikembalikan fungsi ini, lalu mengambil alih OnRenderXxxData fungsi anggota untuk menyediakan data.
COleServerItem::GetDocument
Panggil fungsi ini untuk mendapatkan penunjuk ke dokumen yang berisi item.
COleServerDoc* GetDocument() const;
Tampilkan Nilai
Penunjuk ke dokumen yang berisi item; NULL jika item bukan bagian dari dokumen.
Keterangan
Ini memungkinkan akses ke dokumen server yang Anda teruskan sebagai argumen ke COleServerItem konstruktor.
COleServerItem::GetEmbedSourceData
Panggil fungsi ini untuk mendapatkan data CF_EMBEDSOURCE untuk item OLE.
void GetEmbedSourceData(LPSTGMEDIUM lpStgMedium);
Parameter
lpStgMedium
Pointer ke struktur STGMEDIUM yang akan menerima data CF_EMBEDSOURCE untuk item OLE.
Keterangan
Format ini mencakup data asli item. Anda harus menerapkan Serialize fungsi anggota agar fungsi ini berfungsi dengan baik.
Hasilnya kemudian dapat ditambahkan ke sumber data dengan menggunakan COleDataSource::CacheData. Fungsi ini dipanggil secara otomatis oleh COleServerItem::OnGetClipboardData.
Untuk informasi selengkapnya, lihat STGMEDIUM di Windows SDK.
COleServerItem::GetItemName
Panggil fungsi ini untuk mendapatkan nama item.
const CString& GetItemName() const;
Tampilkan Nilai
Nama item.
Keterangan
Anda biasanya memanggil fungsi ini hanya untuk item tertaut.
COleServerItem::GetLinkSourceData
Panggil fungsi ini untuk mendapatkan data CF_LINKSOURCE untuk item OLE.
BOOL GetLinkSourceData(LPSTGMEDIUM lpStgMedium);
Parameter
lpStgMedium
Arahkan ke struktur STGMEDIUM yang akan menerima data CF_LINKSOURCE untuk item OLE.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Format ini mencakup CLSID yang menjelaskan jenis item OLE dan informasi yang diperlukan untuk menemukan dokumen yang berisi item OLE.
Hasilnya kemudian dapat ditambahkan ke sumber data dengan COleDataSource::CacheData. Fungsi ini dipanggil secara otomatis oleh OnGetClipboardData.
Untuk informasi selengkapnya, lihat STGMEDIUM di Windows SDK.
COleServerItem::GetObjectDescriptorData
Panggil fungsi ini untuk mendapatkan data CF_OBJECTDESCRIPTOR untuk item OLE.
void GetObjectDescriptorData(
LPPOINT lpOffset,
LPSIZE lpSize,
LPSTGMEDIUM lpStgMedium);
Parameter
lpOffset
Offset klik mouse dari sudut kiri atas item OLE. Bisa NULL.
lpSize
Ukuran item OLE. Bisa NULL.
lpStgMedium
Arahkan ke struktur STGMEDIUM yang akan menerima data CF_OBJECTDESCRIPTOR untuk item OLE.
Keterangan
Informasi disalin ke dalam struktur yang STGMEDIUM ditujukkan oleh lpStgMedium. Format ini mencakup informasi yang diperlukan untuk dialog Tempel Spesial.
Untuk informasi selengkapnya, lihat STGMEDIUM di Windows SDK.
COleServerItem::IsConnected
Panggil fungsi ini untuk melihat apakah item OLE tersambung.
BOOL IsConnected() const;
Tampilkan Nilai
Bukan nol jika item tersambung; jika tidak, 0.
Keterangan
Item OLE dianggap tersambung jika satu atau beberapa kontainer memiliki referensi ke item. Item tersambung jika jumlah referensinya lebih besar dari 0 atau jika item tersebut adalah item yang disematkan.
COleServerItem::IsLinkedItem
Panggil fungsi ini untuk melihat apakah item OLE adalah item tertaut.
BOOL IsLinkedItem() const;
Tampilkan Nilai
Bukan nol jika item adalah item tertaut; jika tidak, 0.
Keterangan
Item ditautkan jika item valid dan tidak dikembalikan dalam daftar item yang disematkan dokumen. Item tertaut mungkin atau mungkin tidak tersambung ke kontainer.
Adalah umum untuk menggunakan kelas yang sama untuk item yang ditautkan dan disematkan. IsLinkedItem memungkinkan Anda membuat item tertaut bereaksi berbeda dari item yang disematkan, meskipun berkali-kali kode umum.
COleServerItem::m_sizeExtent
Anggota ini memberi tahu server berapa banyak objek yang terlihat dalam dokumen kontainer.
CSize m_sizeExtent;
Keterangan
Implementasi default OnSetExtent mengatur anggota ini.
COleServerItem::NotifyChanged
Panggil fungsi ini setelah item tertaut diubah.
void NotifyChanged(DVASPECT nDrawAspect = DVASPECT_CONTENT);
Parameter
nDrawAspect
Nilai dari enumerasi DVASPECT yang menunjukkan aspek mana dari item OLE yang telah berubah. Parameter ini dapat memiliki salah satu nilai berikut:
DVASPECT_CONTENT Item diwakili sedimikian rupa sehingga dapat ditampilkan sebagai objek yang disematkan di dalam kontainernya.
DVASPECT_THUMBNAIL Item dirender dalam representasi "gambar mini" sehingga dapat ditampilkan dalam alat penjelajahan.
DVASPECT_ICON Item diwakili oleh ikon.
DVASPECT_DOCPRINT Item diwakili seolah-olah dicetak menggunakan perintah Cetak dari menu File.
Keterangan
Jika item kontainer ditautkan ke dokumen dengan tautan otomatis, item diperbarui untuk mencerminkan perubahan. Dalam aplikasi kontainer yang ditulis menggunakan Microsoft Foundation Class Library, COleClientItem::OnChange dipanggil sebagai respons.
COleServerItem::OnDoVerb
Dipanggil oleh kerangka kerja untuk menjalankan kata kerja yang ditentukan.
virtual void OnDoVerb(LONG iVerb);
Parameter
iVerb
Menentukan kata kerja yang akan dijalankan. Ini bisa salah satu dari yang berikut:
| Nilai | Makna | Simbol |
|---|---|---|
| 0 | Kata kerja utama | OLEIVERB_PRIMARY |
| 1 | Kata kerja sekunder | (Tidak Ada) |
| -1 | Tampilkan item untuk pengeditan | OLEIVERB_SHOW |
| -2 | Edit item di jendela terpisah | OLEIVERB_OPEN |
| -3 | Sembunyikan item | OLEIVERB_HIDE |
Nilai -1 biasanya merupakan alias untuk kata kerja lain. Jika pengeditan terbuka tidak didukung, -2 memiliki efek yang sama dengan -1. Untuk nilai tambahan, lihat IOleObject::D oVerb di Windows SDK.
Keterangan
Jika aplikasi kontainer ditulis dengan Pustaka Kelas Microsoft Foundation, fungsi ini dipanggil ketika fungsi COleClientItem::Aktifkan anggota objek yang COleClientItem sesuai dipanggil. Implementasi default memanggil fungsi anggota OnShow jika kata kerja utama atau OLEIVERB_SHOW ditentukan, OnOpen jika kata kerja atau OLEIVERB_OPEN sekunder ditentukan, dan OnHide jika OLEIVERB_HIDE ditentukan. Implementasi default memanggil OnShow jika iVerb bukan salah satu kata kerja yang tercantum di atas.
Ambil alih fungsi ini jika kata kerja utama Anda tidak menampilkan item. Misalnya, jika item adalah rekaman suara dan kata kerja utamanya adalah Putar, Anda tidak perlu menampilkan aplikasi server untuk memutar item.
Untuk informasi selengkapnya, lihat IOleObject::D oVerb di Windows SDK.
COleServerItem::OnDraw
Dipanggil oleh kerangka kerja untuk merender item OLE ke dalam metafile.
virtual BOOL OnDraw(
CDC* pDC,
CSize& rSize) = 0;
Parameter
pDC
Penunjuk ke objek CDC untuk menggambar item. Konteks tampilan secara otomatis terhubung ke konteks tampilan atribut sehingga Anda dapat memanggil fungsi atribut, meskipun melakukannya akan membuat perangkat metafile spesifik.
rSize
Ukuran, dalam unit HIMETRIC, untuk menggambar metafile.
Tampilkan Nilai
Bukan nol jika item berhasil digambar; jika tidak, 0.
Keterangan
Representasi metafile dari item OLE digunakan untuk menampilkan item dalam aplikasi kontainer. Jika aplikasi kontainer ditulis dengan Pustaka Kelas Microsoft Foundation, metafile digunakan oleh fungsi anggota Draw dari objek COleClientItem yang sesuai. Tidak ada implementasi default. Anda harus mengambil alih fungsi ini untuk menggambar item ke dalam konteks perangkat yang ditentukan.
COleServerItem::OnDrawEx
Dipanggil oleh kerangka kerja untuk semua gambar.
virtual BOOL OnDrawEx(
CDC* pDC,
DVASPECT nDrawAspect,
CSize& rSize);
Parameter
pDC
Penunjuk ke objek CDC untuk menggambar item. DC secara otomatis terhubung ke atribut DC sehingga Anda dapat memanggil fungsi atribut, meskipun melakukannya akan membuat perangkat metafile spesifik.
nDrawAspect
Nilai dari enumerasi DVASPECT. Parameter ini dapat memiliki salah satu nilai berikut:
DVASPECT_CONTENT Item diwakili sedimikian rupa sehingga dapat ditampilkan sebagai objek yang disematkan di dalam kontainernya.
DVASPECT_THUMBNAIL Item dirender dalam representasi "gambar mini" sehingga dapat ditampilkan dalam alat penjelajahan.
DVASPECT_ICON Item diwakili oleh ikon.
DVASPECT_DOCPRINT Item diwakili seolah-olah dicetak menggunakan perintah Cetak dari menu File.
rSize
Ukuran item dalam unit HIMETRIC.
Tampilkan Nilai
Bukan nol jika item berhasil digambar; jika tidak, 0.
Keterangan
Implementasi default memanggil OnDraw ketika DVASPECT sama dengan DVASPECT_CONTENT; jika tidak, itu gagal.
Ambil alih fungsi ini untuk menyediakan data presentasi untuk aspek selain DVASPECT_CONTENT, seperti DVASPECT_ICON atau DVASPECT_THUMBNAIL.
COleServerItem::OnGetClipboardData
Dipanggil oleh kerangka kerja untuk mendapatkan objek yang COleDataSource berisi semua data yang akan ditempatkan di Clipboard dengan panggilan ke fungsi anggota CopyToClipboard .
virtual COleDataSource* OnGetClipboardData(
BOOL bIncludeLink,
LPPOINT lpOffset,
LPSIZE lpSize);
Parameter
bIncludeLink
Atur ini ke TRUE jika data tautan harus disalin ke Clipboard. Atur ini ke FALSE jika aplikasi server Anda tidak mendukung tautan.
lpOffset
Offset kursor mouse dari asal objek dalam piksel.
lpSize
Ukuran objek dalam piksel.
Tampilkan Nilai
Penunjuk ke objek COleDataSource yang berisi data Clipboard.
Keterangan
Implementasi default fungsi ini memanggil GetClipboardData.
COleServerItem::OnGetExtent
Dipanggil oleh kerangka kerja untuk mengambil ukuran, di unit HIMETRIC, dari item OLE.
virtual BOOL OnGetExtent(
DVASPECT nDrawAspect,
CSize& rSize);
Parameter
nDrawAspect
Menentukan aspek item OLE yang batasnya akan diambil. Parameter ini dapat memiliki salah satu nilai berikut:
DVASPECT_CONTENT Item diwakili sedimikian rupa sehingga dapat ditampilkan sebagai objek yang disematkan di dalam kontainernya.
DVASPECT_THUMBNAIL Item dirender dalam representasi "gambar mini" sehingga dapat ditampilkan dalam alat penjelajahan.
DVASPECT_ICON Item diwakili oleh ikon.
DVASPECT_DOCPRINT Item diwakili seolah-olah dicetak menggunakan perintah Cetak dari menu File.
rSize
Referensi ke CSize objek yang akan menerima ukuran item OLE.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Jika aplikasi kontainer ditulis dengan Pustaka Kelas Microsoft Foundation, fungsi ini dipanggil ketika fungsi anggota GetExtent dari objek yang COleClientItem sesuai dipanggil. Implementasi default tidak melakukan apa pun. Anda harus menerapkannya sendiri. Ambil alih fungsi ini jika Anda ingin melakukan pemrosesan khusus saat menangani permintaan untuk ukuran item OLE.
COleServerItem::OnHide
Dipanggil oleh kerangka kerja untuk menyembunyikan item OLE.
virtual void OnHide();
Keterangan
Panggilan COleServerDoc::OnShowDocument( FALSE )default . Fungsi ini juga memberi tahu kontainer bahwa item OLE telah disembunyikan. Ambil alih fungsi ini jika Anda ingin melakukan pemrosesan khusus saat menyembunyikan item OLE.
COleServerItem::OnInitFromData
Dipanggil oleh kerangka kerja untuk menginisialisasi item OLE menggunakan konten pDataObject.
virtual BOOL OnInitFromData(
COleDataObject* pDataObject,
BOOL bCreation);
Parameter
pDataObject
Penunjuk ke objek data OLE yang berisi data dalam berbagai format untuk menginisialisasi item OLE.
bCreation
TRUE jika fungsi dipanggil untuk menginisialisasi item OLE yang baru dibuat oleh aplikasi kontainer. FALSE jika fungsi dipanggil untuk menggantikan konten item OLE yang sudah ada.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Jika bCreation TRUE, fungsi ini dipanggil jika kontainer mengimplementasikan Sisipkan Objek Baru berdasarkan pilihan saat ini. Data yang dipilih digunakan saat membuat item OLE baru. Misalnya, saat memilih rentang sel dalam program lembar bentang lalu menggunakan Sisipkan Objek Baru untuk membuat bagan berdasarkan nilai dalam rentang yang dipilih. Implementasi default tidak melakukan apa pun. Ambil alih fungsi ini untuk memilih format yang dapat diterima dari yang ditawarkan oleh pDataObject dan menginisialisasi item OLE berdasarkan data yang disediakan. Ini adalah pengalih tingkat lanjut.
Untuk informasi selengkapnya, lihat IOleObject::InitFromData di Windows SDK.
COleServerItem::OnOpen
Dipanggil oleh kerangka kerja untuk menampilkan item OLE dalam instans terpisah dari aplikasi server, bukan di tempat.
virtual void OnOpen();
Keterangan
Implementasi default mengaktifkan jendela bingkai pertama yang menampilkan dokumen yang berisi item OLE; jika aplikasi adalah server mini, implementasi default menunjukkan jendela utama. Fungsi ini juga memberi tahu kontainer bahwa item OLE telah dibuka.
Ambil alih fungsi ini jika Anda ingin melakukan pemrosesan khusus saat membuka item OLE. Ini sangat umum dengan item tertaut tempat Anda ingin mengatur pilihan ke tautan saat dibuka.
Untuk informasi selengkapnya, lihat IOleClientSite::OnShowWindow di Windows SDK.
COleServerItem::OnQueryUpdateItems
Dipanggil oleh kerangka kerja untuk menentukan apakah ada item tertaut dalam dokumen server saat ini kedaluarsa.
virtual BOOL OnQueryUpdateItems();
Tampilkan Nilai
Bukan nol jika dokumen memiliki item yang memerlukan pembaruan; 0 jika semua item sudah diperbarui.
Keterangan
Item sudah kedaluarsa jika dokumen sumbernya telah diubah tetapi item tertaut belum diperbarui untuk mencerminkan perubahan dalam dokumen.
COleServerItem::OnRenderData
Dipanggil oleh kerangka kerja untuk mengambil data dalam format yang ditentukan.
virtual BOOL OnRenderData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium);
Parameter
lpFormatEtc
Arahkan ke struktur FORMATETC yang menentukan format di mana informasi diminta.
lpStgMedium
Menunjuk ke struktur STGMEDIUM tempat data akan dikembalikan.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Format yang ditentukan sebelumnya ditempatkan dalam COleDataSource objek menggunakan fungsi anggota DelayRenderData atau DelayRenderFileData untuk penyajian tertunda. Implementasi default fungsi ini masing-masing memanggil OnRenderFileData atau OnRenderGlobalData, jika media penyimpanan yang disediakan adalah file atau memori. Jika tidak satu pun dari format ini disediakan, implementasi default mengembalikan 0 dan tidak melakukan apa pun.
Jika lpStgMedium-tymed> TYMED_NULL, STGMEDIUM harus dialokasikan dan diisi sebagaimana ditentukan oleh lpFormatEtc-tymed.> Jika tidak TYMED_NULL, STGMEDIUM harus diisi dengan data.
Ini adalah pengalih tingkat lanjut. Ambil alih fungsi ini untuk menyediakan data Anda dalam format dan sedang yang diminta. Bergantung pada data Anda, Anda mungkin ingin mengambil alih salah satu versi lain dari fungsi ini sebagai gantinya. Jika data Anda berukuran kecil dan tetap, ambil alih OnRenderGlobalData. Jika data Anda berada dalam file, atau berukuran variabel, ambil alih OnRenderFileData.
Untuk informasi selengkapnya, lihat IDataObject::GetData, STGMEDIUM, FORMATETC, dan TYMED di Windows SDK.
COleServerItem::OnRenderFileData
Dipanggil oleh kerangka kerja untuk mengambil data dalam format yang ditentukan ketika media penyimpanan adalah file.
virtual BOOL OnRenderFileData(
LPFORMATETC lpFormatEtc,
CFile* pFile);
Parameter
lpFormatEtc
Arahkan ke struktur FORMATETC yang menentukan format di mana informasi diminta.
pFile
Menunjuk ke CFile objek tempat data akan dirender.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Format yang ditentukan sebelumnya ditempatkan dalam COleDataSource objek menggunakan fungsi anggota DelayRenderData untuk penyajian tertunda. Implementasi default fungsi ini hanya mengembalikan FALSE.
Ini adalah pengalih tingkat lanjut. Ambil alih fungsi ini untuk menyediakan data Anda dalam format dan sedang yang diminta. Bergantung pada data Anda, Anda mungkin ingin mengambil alih salah satu versi lain dari fungsi ini sebagai gantinya. Jika Anda ingin menangani beberapa media penyimpanan, ambil alih OnRenderData. Jika data Anda berada dalam file, atau berukuran variabel, ambil alih OnRenderFileData.
Untuk informasi selengkapnya, lihat IDataObject::GetData dan FORMATETC di Windows SDK.
COleServerItem::OnRenderGlobalData
Dipanggil oleh kerangka kerja untuk mengambil data dalam format yang ditentukan ketika media penyimpanan yang ditentukan adalah memori global.
virtual BOOL OnRenderGlobalData(
LPFORMATETC lpFormatEtc,
HGLOBAL* phGlobal);
Parameter
lpFormatEtc
Arahkan ke struktur FORMATETC yang menentukan format di mana informasi diminta.
phGlobal
Menunjuk ke handel ke memori global tempat data akan dikembalikan. Jika tidak ada memori yang dialokasikan, parameter ini dapat berupa NULL.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Format yang ditentukan sebelumnya ditempatkan dalam COleDataSource objek menggunakan fungsi anggota DelayRenderData untuk penyajian tertunda. Implementasi default fungsi ini hanya mengembalikan FALSE.
Jika phGlobal adalah NULL, maka HGLOBAL baru harus dialokasikan dan dikembalikan dalam phGlobal. Jika tidak, HGLOBAL yang ditentukan oleh phGlobal harus diisi dengan data. Jumlah data yang ditempatkan di HGLOBAL tidak boleh melebihi ukuran blok memori saat ini. Selain itu, blok tidak dapat dialokasikan ke ukuran yang lebih besar.
Ini adalah pengalih tingkat lanjut. Ambil alih fungsi ini untuk menyediakan data Anda dalam format dan sedang yang diminta. Bergantung pada data Anda, Anda mungkin ingin mengambil alih salah satu versi lain dari fungsi ini sebagai gantinya. Jika Anda ingin menangani beberapa media penyimpanan, ambil alih OnRenderData. Jika data Anda berada dalam file, atau berukuran variabel, ambil alih OnRenderFileData.
Untuk informasi selengkapnya, lihat IDataObject::GetData dan FORMATETC di Windows SDK.
COleServerItem::OnSetColorScheme
Dipanggil oleh kerangka kerja untuk menentukan palet warna yang akan digunakan saat mengedit item OLE.
virtual BOOL OnSetColorScheme(const LOGPALETTE* lpLogPalette);
Parameter
lpLogPalette
Penunjuk ke struktur Windows LOGPALETTE .
Tampilkan Nilai
Bukan nol jika palet warna digunakan; jika tidak, 0.
Keterangan
Jika aplikasi kontainer ditulis menggunakan Pustaka Kelas Microsoft Foundation, fungsi ini dipanggil ketika fungsi IOleObject::SetColorScheme dari objek yang COleClientItem sesuai dipanggil. Implementasi default mengembalikan FALSE. Ambil alih fungsi ini jika Anda ingin menggunakan palet yang direkomendasikan. Aplikasi server tidak diperlukan untuk menggunakan palet yang disarankan.
Untuk informasi selengkapnya, lihat IOleObject::SetColorScheme di Windows SDK.
COleServerItem::OnSetData
Dipanggil oleh kerangka kerja untuk mengganti data item OLE dengan data yang ditentukan.
virtual BOOL OnSetData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
Parameter
lpFormatEtc
Penunjuk ke struktur FORMATETC yang menentukan format data.
lpStgMedium
Pointer ke struktur STGMEDIUM tempat data berada.
bRelease
Menunjukkan siapa yang memiliki kepemilikan media penyimpanan setelah menyelesaikan panggilan fungsi. Pemanggil memutuskan siapa yang bertanggung jawab untuk merilis sumber daya yang dialokasikan atas nama media penyimpanan. Pemanggil melakukan ini dengan mengatur bRelease. Jika bRelease bukan nol, item server mengambil kepemilikan, membebaskan media ketika telah selesai menggunakannya. Ketika bRelease adalah 0, pemanggil mempertahankan kepemilikan dan item server dapat menggunakan media penyimpanan hanya selama panggilan.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Item server tidak mengambil kepemilikan data hingga berhasil memperolehnya. Artinya, tidak mengambil kepemilikan jika mengembalikan 0. Jika sumber data mengambil kepemilikan, sumber data membebaskan media penyimpanan dengan memanggil fungsi ReleaseStgMedium .
Implementasi default tidak melakukan apa pun. Ambil alih fungsi ini untuk mengganti data item OLE dengan data yang ditentukan. Ini adalah pengalih tingkat lanjut.
Untuk informasi selengkapnya, lihat STGMEDIUM, FORMATETC, dan ReleaseStgMedium di Windows SDK.
COleServerItem::OnSetExtent
Dipanggil oleh kerangka kerja untuk memberi tahu item OLE berapa banyak ruang yang tersedia untuknya dalam dokumen kontainer.
virtual BOOL OnSetExtent(
DVASPECT nDrawAspect,
const CSize& size);
Parameter
nDrawAspect
Menentukan aspek item OLE yang batasnya ditentukan. Parameter ini dapat memiliki salah satu nilai berikut:
DVASPECT_CONTENT Item diwakili sedimikian rupa sehingga dapat ditampilkan sebagai objek yang disematkan di dalam kontainernya.
DVASPECT_THUMBNAIL Item dirender dalam representasi "gambar mini" sehingga dapat ditampilkan dalam alat penjelajahan.
DVASPECT_ICON Item diwakili oleh ikon.
DVASPECT_DOCPRINT Item diwakili seolah-olah dicetak menggunakan perintah Cetak dari menu File.
ukuran
Struktur CSize yang menentukan ukuran baru item OLE.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Jika aplikasi kontainer ditulis dengan Pustaka Kelas Microsoft Foundation, fungsi ini dipanggil ketika fungsi anggota SetExtent dari objek yang COleClientItem sesuai dipanggil. Implementasi default menetapkan anggota m_sizeExtent ke ukuran yang ditentukan jika nDrawAspect DVASPECT_CONTENT; jika tidak, ia mengembalikan 0. Ambil alih fungsi ini untuk melakukan pemrosesan khusus saat Anda mengubah ukuran item.
COleServerItem::OnShow
Dipanggil oleh kerangka kerja untuk menginstruksikan aplikasi server untuk menampilkan item OLE di tempat.
virtual void OnShow();
Keterangan
Fungsi ini biasanya dipanggil ketika pengguna aplikasi kontainer membuat item atau menjalankan kata kerja, seperti Edit, yang mengharuskan item ditampilkan. Implementasi default mencoba aktivasi di tempat. Jika ini gagal, fungsi memanggil OnOpen fungsi anggota untuk menampilkan item OLE di jendela terpisah.
Ambil alih fungsi ini jika Anda ingin melakukan pemrosesan khusus saat item OLE ditampilkan.
COleServerItem::OnUpdate
Dipanggil oleh kerangka kerja saat item telah dimodifikasi.
virtual void OnUpdate(
COleServerItem* pSender,
LPARAM lHint,
CObject* pHint,
DVASPECT nDrawAspect);
Parameter
pSender
Arahkan ke item yang mengubah dokumen. Bisa NULL.
lHint
Berisi informasi tentang modifikasi.
pHint
Penunjuk ke objek yang menyimpan informasi tentang modifikasi.
nDrawAspect
Nilai dari enumerasi DVASPECT. Parameter ini dapat memiliki salah satu nilai berikut:
DVASPECT_CONTENT Item diwakili sedimikian rupa sehingga dapat ditampilkan sebagai objek yang disematkan di dalam kontainernya.
DVASPECT_THUMBNAIL Item dirender dalam representasi "gambar mini" sehingga dapat ditampilkan dalam alat penjelajahan.
DVASPECT_ICON Item diwakili oleh ikon.
DVASPECT_DOCPRINT Item diwakili seolah-olah dicetak menggunakan perintah Cetak dari menu File.
Keterangan
Implementasi default memanggil NotifyChanged, terlepas dari petunjuk atau pengirim.
COleServerItem::OnUpdateItems
Dipanggil oleh kerangka kerja untuk memperbarui semua item dalam dokumen server.
virtual void OnUpdateItems();
Keterangan
Implementasi default memanggil UpdateLink untuk semua COleClientItem objek dalam dokumen.
COleServerItem::SetItemName
Panggil fungsi ini saat Anda membuat item tertaut untuk mengatur namanya.
void SetItemName(LPCTSTR lpszItemName);
Parameter
lpszItemName
Arahkan ke nama baru item.
Keterangan
Nama harus unik dalam dokumen. Ketika aplikasi server dipanggil untuk mengedit item tertaut, aplikasi menggunakan nama ini untuk menemukan item. Anda tidak perlu memanggil fungsi ini untuk item yang disematkan.
Lihat juga
Sampel MFC HIERSVR
Kelas CDocItem
Bagan Hierarki
Kelas COleClientItem
Kelas COleServerDoc
Kelas COleTemplateServer