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.
Nota
Pustaka Microsoft Foundation Classes (MFC) terus didukung. Namun, kami tidak lagi menambahkan fitur atau memperbarui dokumentasi.
Artikel ini menjelaskan langkah-langkah yang diperlukan untuk menggabungkan fitur lanjutan opsional ke dalam aplikasi kontainer yang ada. Fitur-fitur ini adalah:
Membuat Aplikasi Kontainer/Server
Aplikasi kontainer/server adalah aplikasi yang bertindak sebagai kontainer dan server. Microsoft Word untuk Windows adalah contoh dari ini. Anda bisa menyematkan dokumen Word untuk Windows di aplikasi lain, dan Anda juga bisa menyematkan item dalam dokumen Word untuk Windows. Proses untuk memodifikasi aplikasi kontainer Anda menjadi kontainer dan server lengkap (Anda tidak dapat membuat aplikasi kontainer/miniserver kombinasi) mirip dengan proses untuk membuat server lengkap.
Artikel Server: Menerapkan Server mencantumkan sejumlah tugas yang diperlukan untuk menerapkan aplikasi server. Jika Anda mengonversi aplikasi kontainer ke aplikasi kontainer/server, maka Anda perlu melakukan beberapa tugas yang sama, menambahkan kode ke kontainer. Berikut ini mencantumkan hal-hal penting yang perlu dipertimbangkan:
Kode kontainer yang dibuat oleh wizard aplikasi sudah menginisialisasi subsistem OLE. Anda tidak perlu mengubah atau menambahkan apa pun untuk dukungan tersebut.
Di mana pun kelas dasar kelas dokumen adalah
COleDocument, ubah kelas dasar menjadiCOleServerDoc.Ambil alih
COleClientItem::CanActivateuntuk menghindari pengeditan item di tempat saat server itu sendiri digunakan untuk mengedit di tempat.Misalnya, sampel MFC OLE OCLIENT telah menyematkan item yang dibuat oleh aplikasi kontainer/server Anda. Anda membuka aplikasi OCLIENT dan mengedit item yang dibuat oleh aplikasi kontainer/server Anda di tempat. Saat mengedit item aplikasi, Anda memutuskan ingin menyematkan item yang dibuat oleh sampel MFC OLE HIERSVR. Untuk melakukan ini, Anda tidak dapat menggunakan aktivasi di tempat. Anda harus sepenuhnya membuka HIERSVR untuk mengaktifkan item ini. Karena Pustaka Kelas Dasar Microsoft tidak mendukung fitur OLE ini, dengan menimpa
COleClientItem::CanActivate, Anda dapat memeriksa situasi ini dan mencegah kemungkinan kesalahan saat berjalan di aplikasi Anda.
Jika Anda membuat aplikasi baru dan ingin aplikasi tersebut berfungsi sebagai aplikasi kontainer/server, pilih opsi tersebut dalam kotak dialog Opsi OLE di wizard aplikasi dan dukungan ini akan dibuat secara otomatis. Untuk informasi selengkapnya, lihat artikel Gambaran Umum: Membuat Kontainer Kontrol ActiveX. Untuk informasi tentang sampel MFC, lihat Sampel MFC.
Perhatikan bahwa Anda tidak dapat menyisipkan aplikasi MDI ke dalam dirinya sendiri. Aplikasi yang merupakan kontainer/server tidak dapat dimasukkan ke dalam dirinya sendiri kecuali itu adalah aplikasi SDI.
Tautan ke Objek yang Tersemat
Fitur Tautan ke Objek Tersemat memungkinkan pengguna membuat dokumen dengan tautan OLE ke objek yang disematkan di dalam aplikasi kontainer Anda. Misalnya, buat dokumen dalam pengolah kata yang berisi spreadsheet yang disematkan. Jika aplikasi Anda mendukung tautan ke objek yang disematkan, aplikasi tersebut dapat menautkan ke spreadsheet yang terkandung dalam dokumen pengolah kata. Fitur ini memungkinkan aplikasi Anda untuk menggunakan informasi yang terkandung dalam spreadsheet tanpa mengetahui di mana prosesor kata awalnya mendapatkannya.
Untuk menautkan ke objek yang disematkan di aplikasi Anda
Dapatkan kelas dokumen Anda dari
COleLinkingDocbukanCOleDocument.Buat ID kelas OLE (CLSID) untuk aplikasi Anda dengan menggunakan Generator ID Kelas yang disertakan dengan Alat Pengembangan OLE.
Daftarkan aplikasi dengan OLE.
Buat
COleTemplateServerobjek sebagai anggota kelas aplikasi Anda.Dalam fungsi anggota kelas
InitInstanceaplikasi Anda, lakukan hal berikut:Sambungkan objek Anda
COleTemplateServerke templat dokumen Anda dengan memanggil fungsi anggota objekConnectTemplate.COleTemplateServer::RegisterAllPanggil fungsi anggota untuk mendaftarkan semua objek kelas dengan sistem OLE.Panggil
COleTemplateServer::UpdateRegistry. Satu-satunya parameter denganUpdateRegistryharus OAT_CONTAINER jika aplikasi tidak diluncurkan dengan sakelar "/Embedded". Ini mendaftarkan aplikasi sebagai kontainer yang dapat mendukung tautan ke objek yang disematkan.Jika aplikasi diluncurkan dengan sakelar "/Embedded", aplikasi tidak boleh menampilkan jendela utamanya, mirip dengan aplikasi server.
Sampel MFC OLE OCLIENT mengimplementasikan fitur ini. Untuk contoh bagaimana hal ini dilakukan, lihat fungsi InitInstance di file OCLIENT.CPP dari aplikasi sampel ini.