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. InitInstance Panggil CDocTemplate::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

  1. 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.

  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 handler pesan untuk mentransfer fokus dari tampilan ke item tersemat OLE aktif di tempat.

  5. 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

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

  2. Ambil alih OnChange, , OnChangeItemPositiondan OnGetItemPosition. 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

Kontainer
Kontainer: Item Klien