次の方法で共有


OLEMENUGROUPWIDTHS 構造体 (oleidl.h)

インプレース編集セッション中にコンテナーとオブジェクト サーバーの間で共有されるメニューの 6 つのメニュー グループのメニュー項目の数を示します。 これは、共有メニューを構築するためのメカニズムです。

構文

typedef struct tagOleMenuGroupWidths {
  LONG width[6];
} OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;

メンバー

width[6]

共有インプレース編集メニューの 6 つのメニュー グループの各メニュー項目の数を要素に含む配列。 各メニュー グループには、任意の数のメニュー項目を含めることができます。 コンテナーでは、要素 0、2、および 4 を使用して、 その [ファイル]、[ 表示]、および [ウィンドウ] メニュー グループ内のメニュー項目の数を示します。 オブジェクト サーバーは、要素 1、3、および 5 を使用して、 EditObject、および Help メニュー グループ内のメニュー項目の数を示します。

注釈

コンテナー アプリケーションとオブジェクト サーバーは、この構造を使用して共有メニューを作成します。 オブジェクト サーバーは、 OLEMENUGROUPWIDTHS 構造体の配列要素を 0 に初期化し、 IOleInPlaceFrame::InsertMenus の呼び出しでコンテナーへのメニュー ハンドルと共にポインターを渡します。 コンテナーはメニューにメニュー項目を追加し、構造体に各グループの項目数 (インデックス 0、2、4) を入力します。 次に、サーバーはコンテナーによって返されるグループ幅の値を使用して、メニュー内の適切な位置にメニュー項目を挿入します。 サーバーは、各グループ内の項目数 (インデックス 1、3、5) を構造体に入力し、 OleCreateMenuDescriptor 関数の呼び出しで構造体を OLE に渡します。 これにより、OLE はコンテナーのメニュー メッセージをインターセプトし、サーバーのメニューによって生成されたメッセージをリダイレクトできます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header oleidl.h

こちらもご覧ください

IOleInPlaceFrame::InsertMenus

OleCreateMenuDescriptor