Kontainer: Menerapkan Kontainer
Artikel ini merangkum prosedur untuk menerapkan kontainer dan mengarahkan Anda ke artikel lain yang memberikan penjelasan lebih rinci tentang menerapkan kontainer. Ini juga mencantumkan beberapa fitur OLE opsional yang mungkin ingin Anda terapkan dan artikel yang menjelaskan fitur-fitur ini.
Untuk menyiapkan kelas turunan CWinApp Anda
Inisialisasi pustaka OLE dengan memanggil
AfxOleInit
diInitInstance
fungsi anggota.InitInstance
PanggilCDocTemplate::SetContainerInfo
untuk menetapkan menu dan sumber daya akselerator yang digunakan saat item yang disematkan diaktifkan di tempat. Untuk informasi selengkapnya tentang topik ini, lihat Aktivasi.
Fitur-fitur ini disediakan untuk Anda secara otomatis saat Anda menggunakan MFC Application Wizard untuk membuat aplikasi kontainer. Lihat Membuat Program MFC EXE.
Untuk menyiapkan kelas tampilan Anda
Lacak item yang dipilih dengan mempertahankan penunjuk, atau daftar penunjuk jika Anda mendukung beberapa pilihan, ke item yang dipilih. Fungsi Anda
OnDraw
harus menggambar semua item OLE.Ambil alih
IsSelected
untuk memeriksa apakah item yang diteruskan ke item tersebut saat ini dipilih.Terapkan handler
OnInsertObject
pesan untuk menampilkan kotak dialog Sisipkan Objek .Terapkan
OnSetFocus
handler pesan untuk mentransfer fokus dari tampilan ke item tersemat OLE aktif di tempat.Terapkan
OnSize
handler pesan untuk menginformasikan item yang disematkan OLE bahwa ia perlu mengubah persegi panjangnya untuk mencerminkan perubahan ukuran tampilan yang berisi.
Karena implementasi fitur-fitur ini bervariasi secara dramatis dari satu aplikasi ke aplikasi berikutnya, wizard aplikasi hanya menyediakan implementasi dasar. Anda mungkin harus menyesuaikan fungsi-fungsi ini agar aplikasi Anda berfungsi dengan baik. Untuk contoh ini, lihat sampel KONTAINER .
Untuk menangani item yang disematkan dan ditautkan
Mendapatkan kelas dari COleClientItem. Objek kelas ini mewakili item yang telah disematkan atau ditautkan ke dokumen OLE Anda.
Ambil alih
OnChange
, ,OnChangeItemPosition
danOnGetItemPosition
. Fungsi-fungsi ini menangani ukuran, penempatan, dan memodifikasi item yang disematkan dan ditautkan.
Wizard aplikasi akan memperoleh kelas untuk Anda, tetapi Anda mungkin perlu mengambil alih OnChange
dan fungsi lain yang tercantum dengannya di langkah 2 dalam prosedur sebelumnya. Implementasi kerangka perlu disesuaikan untuk sebagian besar aplikasi, karena fungsi-fungsi ini diimplementasikan secara berbeda dari satu aplikasi ke aplikasi berikutnya. Untuk contohnya, lihat sampel MFC DRAWCLI dan CONTAINER.
Anda harus menambahkan sejumlah item ke struktur menu aplikasi kontainer untuk mendukung OLE. Untuk informasi selengkapnya tentang ini, lihat Menu dan Sumber Daya: Penambahan Kontainer.
Anda mungkin juga ingin mendukung beberapa fitur berikut di aplikasi kontainer Anda:
Aktivasi di tempat saat mengedit item yang disematkan.
Untuk informasi selengkapnya, lihat Aktivasi.
Pembuatan item OLE dengan menyeret dan menghilangkan pilihan dari aplikasi server.
Untuk informasi selengkapnya, lihat Seret dan letakkan OLE.
Tautan ke objek yang disematkan atau kombinasi aplikasi kontainer/server.
Untuk informasi selengkapnya, lihat Kontainer: Fitur Tingkat Lanjut.
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk