次の方法で共有


CContextMenuManager クラス

更新 : 2007 年 11 月

CContextMenuManager オブジェクトはショートカット メニュー (コンテキスト メニューとも呼ばれる) を管理します。

class CContextMenuManager : public CObject

メンバ

パブリック コンストラクタ

名前

説明

CContextMenuManager::CContextMenuManager

CContextMenuManager オブジェクトを構築します。

CContextMenuManager::~CContextMenuManager

デストラクタです。

パブリック メソッド

名前

説明

CContextMenuManager::AddMenu

新しいショートカット メニューを追加します。

CContextMenuManager::GetMenuById

指定されたリソース ID に関連付けられたメニューを識別するハンドルを返します。

CContextMenuManager::GetMenuByName

指定されたメニュー名に一致するメニューを識別するハンドルを返します。

CContextMenuManager::GetMenuNames

メニュー名のリストを返します。

CContextMenuManager::LoadState

Windows レジストリに格納されているショートカット メニューを読み込みます。

CContextMenuManager::ResetState

コンテキスト メニュー マネージャからショートカット メニューを消去します。

CContextMenuManager::SaveState

ショートカット メニューを Windows レジストリに保存します。

CContextMenuManager::SetDontCloseActiveMenu

新しいショートカット メニューを表示するときに、CContextMenuManager がアクティブなショートカット メニューを閉じるかどうかを制御します。

CContextMenuManager::ShowPopupMenu

指定されたショートカット メニューを表示します。

CContextMenuManager::TrackPopupMenu

指定されたショートカット メニューを表示します。選択されたメニュー コマンドのインデックスを返します。

解説

CContextMenuManager は、ショートカット メニューを管理し、それらのメニューの外観の一貫性を確保します。

CContextMenuManager オブジェクトは手動で作成しないでください。アプリケーションのフレームワークにより CContextMenuManager オブジェクトが作成されます。ただし、アプリケーションの初期化時に CWinAppEx::InitContextMenuManager を呼び出す必要があります。コンテキスト マネージャを初期化したら、CWinAppEx::GetContextMenuManager を使用して、アプリケーションのコンテキスト マネージャへのポインタを取得します。

ショートカット メニューは、実行時に AddMenu を呼び出して作成できます。最初にユーザー入力を受け取らずにショートカット メニューを表示する場合は、ShowPopupMenu を呼び出します。メニューを作成し、ユーザー入力を待機する場合は TrackPopupMenu を使用します。TrackPopupMenu は、選択されたコマンドのインデックスを返し、ユーザーが何も選択しないで終了した場合は 0 を返します。

CContextMenuManager は、その状態を Windows レジストリに保存して読み込むこともできます。

使用例

メニューを CContextMenuManager オブジェクトに追加する方法と、CContextMenuManager オブジェクトが新しいポップアップ メニューを表示するときにアクティブなポップアップ メニューを閉じない方法を次の例に示します。このコード スニペットは、「CustomPages サンプル : MFC ツール バーのカスタマイズ ダイアログ アプリケーション」の一部です。

  // The GetContextMenuManager method is inherited from the CWinAppEx class.
    GetContextMenuManager()->AddMenu (_T("My menu"), IDR_CONTEXT_MENU);
    GetContextMenuManager()->SetDontCloseActiveMenu(true);

継承階層

CObject

   CContextMenuManager

必要条件

ヘッダー : afxcontextmenumanager.h

参照

概念

MFC 階層図

参照

CWinAppEx クラス

CWinAppEx::InitContextMenuManager

その他の技術情報

クラス (MFC Feature Pack)