CUserToolsManager クラス
アプリケーション内の CUserTool クラス オブジェクトのコレクションを保持します。ユーザー ツールは、外部アプリケーションを実行するメニュー項目です。CUserToolsManager オブジェクトは、ユーザーまたは開発者がアプリケーションに新しいユーザー ツールを追加できるようにします。ユーザー ツールに関連するコマンドの実行をサポートし、Windows レジストリにユーザー ツールに関する情報を保存します。
class CUserToolsManager : public CObject
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
CUserToolsManager を構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
新しいユーザー ツールを作成します。 |
|
指定したコマンド ID に関連付けられた CMFCUserTool オブジェクトへのポインターを返します。 |
|
[カスタマイズ] ダイアログ ボックスの [ツール] タブの [引数] メニューに関連付けられているリソース ID を返します。 |
|
[カスタマイズ] ダイアログ ボックスの [ツール] タブの [コマンド] フィールドで使用される、[ファイルを開く] ダイアログ ボックス (CFileDialog::CFileDialog) の既定の拡張子を返します。 |
|
[カスタマイズ] ダイアログ ボックスの [ツール] タブの [コマンド] フィールドで使用される、[ファイルを開く] ダイアログ ボックス (CFileDialog クラス) のファイル フィルターを返します。 |
|
[カスタマイズ] ダイアログ ボックスの [ツール] タブの [初期ディレクトリ] メニューに関連付けられているリソース ID を返します。 |
|
アプリケーションで割り当てることができるユーザー ツールの最大数を返します。 |
|
ユーザー ツールのメニュー項目プレースホルダーのコマンド ID を返します。 |
|
ユーザー ツールの一覧への参照を返します。 |
|
指定されたコマンド ID を持つユーザー ツールと関連付けるアプリケーションを実行します。 |
|
コマンド ID がユーザー ツールに関連付けられているかどうかを判定します。 |
|
Windows レジストリからユーザー ツールに関する情報を読み込みます。 |
|
指定したユーザー ツールをユーザー ツールの一覧内で下へ移動します。 |
|
指定したユーザー ツールをユーザー ツールの一覧内で上へ移動します。 |
|
指定されたユーザー ツールをアプリケーションから削除します。 |
|
ユーザー ツールに関する情報を Windows レジストリに格納します。 |
|
[カスタマイズ] ダイアログ ボックスの [ツール] タブの [コマンド] フィールドで使用される、[ファイルを開く] ダイアログ ボックス (CFileDialog クラス) の既定の拡張子を指定します。 |
|
[カスタマイズ] ダイアログ ボックスの [ツール] タブの [コマンド] フィールドで使用される、[ファイルを開く] ダイアログ ボックス (CFileDialog クラス) のファイル フィルターを指定します。 |
解説
ユーザー ツールをアプリケーションに組み込むには、次の操作を行う必要があります。
1.ユーザー ツール メニュー エントリに使用するメニュー項目と関連コマンド ID を確保します。
2.ユーザーがアプリケーションで定義できる各ユーザー ツールで使用する連番のコマンド ID を確保します。
3.CWinAppEx::EnableUserTools メソッドを呼び出し、メニュー コマンド ID、最初のユーザー ツール コマンド ID、および最後のユーザー ツール コマンド ID をパラメーターとして指定します。
1 つのアプリケーションで使用できるグローバル CUserToolsManager オブジェクトは 1 つです。
ユーザー ツールの例については、VisualStudioDemo サンプル プロジェクトを参照してください。
使用例
次の例は、CUserToolsManager オブジェクトへの参照の取得方法と新しいユーザー ツールの作成方法を示しています。このコード スニペットは 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"));
}
継承階層
必要条件
ヘッダー : afxusertoolsmanager.h