Bagikan melalui


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

  1. Inisialisasi pustaka OLE dengan memanggil AfxOleInit di InitInstance fungsi anggota.

  2. Panggil CDocTemplate::SetContainerInfo di InitInstance 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 visual Anda

  1. Lacak item yang dipilih dengan mempertahankan penunjuk, atau daftar penunjuk jika Anda mendukung beberapa pilihan, ke item yang dipilih. Fungsi Anda OnDraw harus menarik semua item OLE.

  2. Ambil alih IsSelected untuk memeriksa apakah item yang diteruskan ke item tersebut saat ini dipilih.

  3. Terapkan handler OnInsertObject pesan untuk menampilkan kotak dialog Sisipkan Objek .

  4. Terapkan OnSetFocus penangan pesan untuk mentransfer fokus dari tampilan ke item tertanam OLE yang aktif langsung.

  5. Terapkan pengelola pesan OnSize untuk menginformasikan item OLE yang tertanam bahwa ia perlu mengubah persegi panjangnya untuk mencerminkan perubahan ukuran tampilan yang memuatnya.

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

  1. Mendapatkan kelas dari COleClientItem. Objek kelas ini mewakili item yang telah disematkan atau ditautkan ke dokumen OLE Anda.

  2. Ambil alih OnChange, OnChangeItemPosition, dan OnGetItemPosition. Fungsi-fungsi ini menangani ukuran, penempatan, dan memodifikasi item yang disematkan dan ditautkan.

Wizard aplikasi akan menghasilkan kelas untuk Anda, tetapi Anda mungkin perlu menggantikan 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 ketika mengedit item yang tertanam.

    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.

Lihat juga

Kontainer
Kontainer: Item Pelanggan