IOleInPlaceFrame::SetMenu メソッド (oleidl.h)
インプレースでアクティブ化されているオブジェクトを含むウィンドウ フレームに複合メニューを追加します。
HRESULT SetMenu(
[in] HMENU hmenuShared,
[in] HOLEMENU holemenu,
[in] HWND hwndActiveObject
);
[in] hmenuShared
IOleInPlaceFrame::InsertMenus 関数と InsertMenu 関数の呼び出しによって構築された複合メニューへのハンドル。
[in] holemenu
OleCreateMenuDescriptor 関数によって返されるメニュー記述子へのハンドル。
[in] hwndActiveObject
オブジェクトが所有し、メニュー メッセージ、コマンド、アクセラレータを送信するウィンドウへのハンドル。
このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
指定されたハンドルが無効です。 |
|
予期しないエラーが発生しました。 |
非アクティブ化する場合、コンテナーは IOleInPlaceFrame::SetMenu を呼び出し、共有メニューを削除するには NULL を 指定する必要があります。 これは、ウィンドウの再描画を最小限に抑えるために行われます。 また、コンテナーは OleSetMenuDescriptor を呼び出し、 NULL を 指定してディスパッチ コードのフックを解除する必要があります。 最後に、オブジェクト アプリケーションは OleDestroyMenuDescriptor を呼び出してデータ構造を解放します。
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | oleidl.h |