次の方法で共有


COleClientItem::OnInsertMenus

更新 : 2007 年 11 月

埋め込み先編集の有効化時に、空のメニューにコンテナ アプリケーションのメニューを挿入するため、フレームワークが呼び出します。

virtual void OnInsertMenus(
   CMenu* pMenuShared,
   LPOLEMENUGROUPWIDTHS lpMenuWidths 
);

パラメータ

  • pMenuShared
    空のメニューへのポインタ。

  • lpMenuWidths
    次のメニュー グループ、[ファイル]、[編集]、[コンテナ]、[オブジェクト]、[ウィンドウ]、[ヘルプ] のそれぞれにメニューがいくつ存在するかを示す 6 つの LONG 値の配列へのポインタ。[ヘルプ]、[コンテナ] および [ウィンドウ] の 3 つのメニュー グループに関しては、コンテナ アプリケーションが設定をする必要があります。この配列では、要素 0、2、4 に対応します。

解説

このメニューは、その後サーバーに渡され、サーバー独自のメニューが挿入されて、コンポジット メニューを形成します。この関数は、いくつかのコンポジット メニューを構築するため繰り返し呼び出すことができます。

既定の実装では、埋め込み先のコンテナのメニュー、つまり [ファイル]、[コンテナ]、[ウィンドウ] の各メニュー グループを pMenuShared に挿入します。CDocTemplate::SetContainerInfo はこのメニュー リソースを設定するのに使われます。既定の実装では、メニュー リソースによって、lpMenuWidths の要素 0、2、4 に適切な値を設定します。既定の実装がアプリケーションに適合しないときはこの関数をオーバーライドします。アプリケーションがドキュメント型に関連付けられたリソースのドキュメント テンプレートを使っていない場合などです。この関数をオーバーライドするときは、OnSetMenu および OnRemoveMenus もオーバーライドする必要があります。これは、オーバライド可能な高度な関数です。

詳細については、Windows SDK の「IOleInPlaceFrame::InsertMenus」を参照してください。

必要条件

ヘッダー : afxole.h

参照

参照

COleClientItem クラス

階層図

COleClientItem::OnRemoveMenus

COleClientItem::OnSetMenu

その他の技術情報

COleClientItem のメンバ