CContextMenuManager クラス

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

参照

参照

階層図

CWinAppEx クラス

CWinAppEx::InitContextMenuManager

その他の技術情報

MFC クラス