次の方法で共有


CUserToolsManager クラス

更新 : 2007 年 11 月

アプリケーション内の CUserTool クラス オブジェクトのコレクションを保持します。ユーザー ツールは、外部アプリケーションを実行するメニュー項目です。CUserToolsManager オブジェクトは、ユーザーまたは開発者がアプリケーションに新しいユーザー ツールを追加できるようにします。ユーザー ツールに関連するコマンドの実行をサポートし、Windows レジストリにユーザー ツールに関する情報を保存します。

class CUserToolsManager : public CObject

メンバ

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

名前

説明

CUserToolsManager::CUserToolsManager

CUserToolsManager を構築します。

パブリック メソッド

名前

説明

CUserToolsManager::CreateNewTool

新しいユーザー ツールを作成します。

CUserToolsManager::FindTool

指定したコマンド ID に関連付けられた CMFCUserTool オブジェクトへのポインタを返します。

CUserToolsManager::GetArgumentsMenuID

[ユーザー設定] ダイアログ ボックスの [ツール] タブの [引数] メニューに関連付けられているリソース ID を返します。

CUserToolsManager::GetDefExt

[ファイルを開く] ダイアログ ボックス (CFileDialog::CFileDialog) が [カスタマイズ] ダイアログ ボックスの [ツール] タブの "コマンド" フィールドで使用する既定の拡張子を返します。

CUserToolsManager::GetFilter

[ファイルを開く] ダイアログ ボックス (CFileDialog クラス) が [カスタマイズ] ダイアログ ボックスの [ツール] タブの "コマンド" フィールドで使用するファイル フィルタを返します。

CUserToolsManager::GetInitialDirMenuID

[ユーザー設定] ダイアログ ボックスの [ツール] タブの [初期ディレクトリ] メニューに関連付けられているリソース ID を返します。

CUserToolsManager::GetMaxTools

アプリケーションで割り当てることができるユーザー ツールの最大数を返します。

CUserToolsManager::GetToolsEntryCmd

ユーザー ツールのメニュー項目プレースホルダのコマンド ID を返します。

CUserToolsManager::GetUserTools

ユーザー ツールの一覧への参照を返します。

CUserToolsManager::InvokeTool

指定されたコマンド ID を持つユーザー ツールと関連付けるアプリケーションを実行します。

CUserToolsManager::IsUserToolCmd

コマンド ID がユーザー ツールに関連付けられているかどうかを判定します。

CUserToolsManager::LoadState

Windows レジストリからユーザー ツールに関する情報を読み込みます。

CUserToolsManager::MoveToolDown

指定したユーザー ツールをユーザー ツールの一覧内で下へ移動します。

CUserToolsManager::MoveToolUp

指定したユーザー ツールをユーザー ツールの一覧内で上へ移動します。

CUserToolsManager::RemoveTool

指定されたユーザー ツールをアプリケーションから削除します。

CUserToolsManager::SaveState

ユーザー ツールに関する情報を Windows レジストリに格納します。

CUserToolsManager::SetDefExt

[ファイルを開く] ダイアログ ボックス (CFileDialog クラス) が [カスタマイズ] ダイアログ ボックスの [ツール] タブの "コマンド" フィールドで使用する既定の拡張子を指定します。

CUserToolsManager::SetFilter

[ファイルを開く] ダイアログ ボックス (CFileDialog クラス) が [カスタマイズ] ダイアログ ボックスの [ツール] タブの "コマンド" フィールドで使用するファイル フィルタを指定します。

解説

ユーザー ツールをアプリケーションに組み込むには、次の操作を行う必要があります。

1. ユーザー ツール メニュー エントリに使用するメニュー項目と関連コマンド ID を確保します。

2. ユーザーがアプリケーションで定義できる各ユーザー ツールで使用する連番のコマンド ID を確保します。

3. CWinAppEx::EnableUserTools メソッドを呼び出し、メニュー コマンド ID、最初のユーザー ツール コマンド ID、および最後のユーザー ツール コマンド ID をパラメータとして指定します。

1 つのアプリケーションで使用できるグローバル CUserToolsManager オブジェクトは 1 つです。

ユーザー ツールの例については、VisualStudioDemo サンプル プロジェクトを参照してください。

使用例

次の例は、CUserToolsManager オブジェクトへの参照の取得方法と新しいユーザー ツールの作成方法を示しています。このコード スニペットは、「VisualStudioDemo サンプル : MFC Visual Studio アプリケーション」の一部です。

  CUserToolsManager* pUserToolsManager = theApp.GetUserToolsManager();
    if (pUserToolsManager != NULL && pUserToolsManager->GetUserTools().IsEmpty())
    {
        // CUserToolsManager* pUserToolsManager
        CUserTool* pTool1 = pUserToolsManager->CreateNewTool();
        pTool1->m_strLabel = _T("&Notepad");
        pTool1->SetCommand(_T("notepad.exe"));

        CUserTool* pTool2 = pUserToolsManager->CreateNewTool();
        pTool2->m_strLabel = _T("Paint &Brush");
        pTool2->SetCommand(_T("mspaint.exe"));

        CUserTool* pTool3 = pUserToolsManager->CreateNewTool();
        pTool3->m_strLabel = _T("&Windows Explorer");
        pTool3->SetCommand(_T("explorer.exe"));

        CUserTool* pTool4 = pUserToolsManager->CreateNewTool();
        pTool4->m_strLabel = _T("Microsoft On-&Line");
        pTool4->SetCommand(_T("https://www.microsoft.com"));
    }

継承階層

CObject

   CUserToolsManager

必要条件

ヘッダー : afxusertoolsmanager.h

参照

概念

MFC 階層図

参照

CWinAppEx クラス

CUserTool クラス

その他の技術情報

クラス (MFC Feature Pack)