次の方法で共有


OleSetMenuDescriptor 関数 (ole2.h)

コンテナーのフレーム ウィンドウから OLE ディスパッチ コードをインストールまたは削除します。

構文

HRESULT OleSetMenuDescriptor(
  [in] HOLEMENU                 holemenu,
  [in] HWND                     hwndFrame,
  [in] HWND                     hwndActiveObject,
  [in] LPOLEINPLACEFRAME        lpFrame,
  [in] LPOLEINPLACEACTIVEOBJECT lpActiveObj
);

パラメーター

[in] holemenu

OleCreateMenuDescriptor 関数によって返される複合メニュー記述子を処理します。 NULL の場合、ディスパッチ コードはフックされません。

[in] hwndFrame

インプレース複合メニューがインストールされるコンテナーのフレーム ウィンドウにハンドルします。

[in] hwndActiveObject

オブジェクトのインプレース アクティブ化ウィンドウを処理します。 OLE は、メニュー メッセージとコマンドをこのウィンドウにディスパッチします。

[in] lpFrame

コンテナーのフレーム ウィンドウ上の IOleInPlaceFrame インターフェイスへのポインター。

[in] lpActiveObj

アクティブなインプレース オブジェクトの IOleInPlaceActiveObject インターフェイスへのポインター。

戻り値

この関数は、成功したS_OKを返します。

注釈

コンテナーは OleSetMenuDescriptor を呼び出して、オブジェクトが IOleInPlaceFrame::SetMenu メソッドを呼び出すときにディスパッチ コードを hwndFrame にインストールするか、または holemenu の値として NULL をOleSetMenuDescriptor に渡してディスパッチコードを削除する必要があります。

lpFrame パラメーターと lpActiveObj パラメーターの両方が NULL 以外の場合、OLE はアプリケーションの状況依存ヘルプ F1 メッセージ フィルターをインストールします。 それ以外の場合、アプリケーションは独自のメッセージ フィルターを指定する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ole2.h
Library Ole32.lib
[DLL] Ole32.dll
API セット ext-ms-win-com-ole32-l1-1-5 (Windows 10 バージョン 10.0.15063 で導入)

こちらもご覧ください

IOleInPlaceActiveObject

IOleInPlaceFrame::SetMenu

OleCreateMenuDescriptor