Menu dan Sumber Daya (OLE)
Grup artikel ini menjelaskan penggunaan menu dan sumber daya dalam aplikasi dokumen MFC OLE.
Pengeditan visual OLE menempatkan persyaratan tambahan pada menu dan sumber daya lain yang disediakan oleh aplikasi dokumen OLE karena ada sejumlah mode di mana aplikasi kontainer dan server (komponen) dapat dimulai dan digunakan. Misalnya, aplikasi server lengkap dapat berjalan di salah satu dari tiga mode ini:
Berdiri sendiri.
Di tempat, untuk mengedit item dalam konteks kontainer.
Buka, untuk mengedit item di luar konteks kontainernya, sering kali di jendela terpisah.
Ini memerlukan tiga tata letak menu terpisah, satu untuk setiap mode aplikasi yang mungkin. Tabel akselerator juga diperlukan untuk setiap mode baru. Aplikasi kontainer mungkin atau mungkin tidak mendukung aktivasi di tempat; jika ya, dibutuhkan struktur menu baru dan tabel akselerator terkait.
Aktivasi di tempat mengharuskan aplikasi kontainer dan server harus bernegosiasi untuk menu, toolbar, dan ruang bilah status. Semua sumber daya harus dirancang dengan mengingat hal ini. Artikel Menu dan Sumber Daya: Penggabungan Menu mencakup topik ini secara rinci.
Karena masalah ini, aplikasi dokumen OLE yang dibuat dengan wizard aplikasi dapat memiliki hingga empat menu terpisah dan sumber daya tabel akselerator. Ini digunakan karena alasan berikut:
Nama sumber daya | Gunakan |
---|---|
IDR_MAINFRAME | Digunakan dalam aplikasi MDI jika tidak ada file yang terbuka, atau dalam aplikasi SDI terlepas dari file terbuka. Ini adalah menu standar yang digunakan dalam aplikasi non-OLE. |
<jenis IDR_proyek> | Digunakan dalam aplikasi MDI jika file terbuka. Digunakan saat aplikasi berjalan berdiri sendiri. Ini adalah menu standar yang digunakan dalam aplikasi non-OLE. |
<IDR_proyek>TYPE_SRVR_IP | Digunakan oleh server atau kontainer ketika objek terbuka di tempat. |
<TYPE_SRVR_EMB proyek>IDR_ | Digunakan oleh aplikasi server jika objek dibuka tanpa menggunakan aktivasi di tempat. |
Masing-masing nama sumber daya ini mewakili menu dan, biasanya, tabel akselerator. Skema serupa harus digunakan dalam aplikasi MFC yang tidak dibuat dengan wizard aplikasi.
Artikel berikut membahas topik yang terkait dengan kontainer, server, dan penggabungan menu yang diperlukan untuk menerapkan aktivasi di tempat: