次の方法で共有


COleClientItem::OnInsertMenus

空のメニューにコンテナー アプリケーションのメニューを挿入するには、埋め込み先でのアクティブ化の際に、フレームワークによって呼び出されます。

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

パラメーター

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

  • lpMenuWidths
    6 のいずれ 長い の値の数が次メニューのメニューの各グループにあるを示すの配列へのポインター: ファイル、編集、コンテナー、オブジェクト、ウィンドウ、ヘルプ。コンテナー アプリケーションはファイル、コンテナーによっては、ウィンドウ メニューは次の要素 0、2、および 4 に対応する、配列グループ化します。

解説

このメニューには、独自のメニューを挿入する複合のメニューを作成しているサーバーを渡します。この関数は、いくつかの複合のメニューを構築するために繰り返し呼び出すことができます。

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

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

必要条件

ヘッダー : afxole.h

参照

関連項目

COleClientItem クラス

階層図

COleClientItem::OnRemoveMenus

COleClientItem::OnSetMenu