Bagikan melalui


Metode IOleInPlaceFrame::SetMenu (oleidl.h)

Menambahkan menu komposit ke bingkai jendela yang berisi objek yang sedang diaktifkan.

Sintaks

HRESULT SetMenu(
  [in] HMENU    hmenuShared,
  [in] HOLEMENU holemenu,
  [in] HWND     hwndActiveObject
);

Parameter

[in] hmenuShared

Handel ke menu komposit yang dibangun oleh panggilan ke IOleInPlaceFrame::InsertMenus dan fungsi InsertMenu .

[in] holemenu

Handel ke pendeskripsi menu yang dikembalikan oleh fungsi OleCreateMenuDescriptor .

[in] hwndActiveObject

Handel ke jendela yang dimiliki oleh objek dan pesan menu, perintah, dan akselerator mana yang akan dikirim.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_INVALIDARG
Handel yang ditentukan tidak valid.
E_UNEXPECTED
Terjadi kesalahan tidak terduga.

Keterangan

Catatan untuk Penelepon

Objek memanggil IOleInPlaceFrame::SetMenu untuk meminta kontainer menginstal struktur menu komposit yang disiapkan oleh panggilan ke IOleInPlaceFrame::InsertMenus.

Catatan untuk Pelaksana

Implementasi kontainer SDI dari metode ini harus memanggil fungsi SetMenu . Kontainer MDI harus mengirim pesan WM_MDISETMENU , menggunakan hmenuShared sebagai menu untuk menginstal. Kontainer harus memanggil OleSetMenuDescriptor untuk menginstal kode pengiriman OLE.

Saat menonaktifkan, kontainer harus memanggil IOleInPlaceFrame::SetMenu, menentukan NULL untuk menghapus menu bersama. Ini dilakukan untuk membantu meminimalkan pengecatan ulang jendela. Kontainer juga harus memanggil OleSetMenuDescriptor, menentukan NULL untuk membuka kode pengiriman. Akhirnya, aplikasi objek memanggil OleDestroyMenuDescriptor untuk membebaskan struktur data.

Catatan Saat menjalankan IOleInPlaceFrame::SetMenu, jangan melakukan panggilan ke fungsi PeekMessage atau GetMessage , atau kotak dialog. Melakukannya dapat menyebabkan kebuntuan sistem. Ada batasan lebih lanjut tentang metode dan fungsi antarmuka OLE mana yang dapat dipanggil dari dalam IOleInPlaceFrame::SetMenu.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header oleidl.h

Lihat juga

IOleInPlaceFrame

IOleInPlaceFrame::InsertMenus

InsertMenu

OleDestroyMenuDescriptor

OleSetMenuDescriptor