CMFCToolBarsCustomizeDialog クラス
モードレス タブ ダイアログ ボックス ( CPropertySheet クラス) を使用すると、ユーザーはアプリケーションのツール バー、メニュー、キーボード ショートカット、ユーザー定義ツール、およびビジュアル スタイルをカスタマイズできます。 通常、このダイアログ ボックスを表示するには、 [ツール] メニューの [ユーザー設定] をクリックします。
Customize ダイアログ ボックスには、Commands、Toolbars、Tools、Keyboard、Menu、Options の 6 つのタブがあります。
構文
class CMFCToolBarsCustomizeDialog : public CPropertySheet
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog | CMFCToolBarsCustomizeDialog オブジェクトを構築します。 |
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog |
デストラクターです。 |
パブリック メソッド
名前 | 説明 |
---|---|
CMFCToolBarsCustomizeDialog::AddButton | Commands ページのコマンドの一覧にツール バー ボタンを挿入します。 |
CMFCToolBarsCustomizeDialog::AddMenu | リソースからメニューを読み込み、 CMFCToolBarsCustomizeDialog::AddMenuCommands を呼び出して、そのメニューを Commands ページのコマンドの一覧に追加します。 |
CMFCToolBarsCustomizeDialog::AddMenuCommands | リソースからメニューを読み込み、 CMFCToolBarsCustomizeDialog::AddMenuCommands を呼び出して、そのメニューを Commands ページのコマンドの一覧に追加します。 |
CMFCToolBarsCustomizeDialog::AddToolBar | リソースからツール バーを読み込みます。 次に、メニューの各コマンドについて、 CMFCToolBarsCustomizeDialog::AddButton メソッドを呼び出して、指定したカテゴリの下にある Commands ページのコマンドの一覧にボタンを挿入します。 |
CMFCToolBarsCustomizeDialog::Create | Customization ダイアログ ボックスを表示します。 |
CMFCToolBarsCustomizeDialog::EnableTools |
将来の使用のために予約済み。 |
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars | Customize ダイアログ ボックスを使用して、新しいツール バーの作成を有効または無効にします。 |
CMFCToolBarsCustomizeDialog::FillAllCommandsList | 指定した CListBox オブジェクトに、 All Commands カテゴリのコマンドを設定します。 |
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox | 指定した CComboBox オブジェクトに、 Customize ダイアログ ボックスの各コマンド カテゴリの名前を設定します。 |
CMFCToolBarsCustomizeDialog::FillCategoriesListBox | 指定した CListBox オブジェクトに、 Customize ダイアログ ボックスの各コマンド カテゴリの名前を設定します。 |
CMFCToolBarsCustomizeDialog::GetCommandName | 指定されたコマンド ID に関連付けられている名前を取得します。 |
CMFCToolBarsCustomizeDialog::GetCountInCategory | 指定されたテキスト ラベルを持つ指定されたリスト内の項目の数を取得します。 |
CMFCToolBarsCustomizeDialog::GetFlags | ダイアログ ボックスの動作に影響するフラグのセットを取得します。 |
CMFCToolBarsCustomizeDialog::GetThisClass |
このクラス型に関連付けられている CRuntimeClass オブジェクトへのポインターを取得するためにフレームワークによって使用されます。 |
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage | ユーザーがツール バー ボタンまたはメニュー項目アイコンをカスタマイズできるように、イメージ エディターを起動します。 |
CMFCToolBarsCustomizeDialog::OnInitDialog | プロパティ シートの初期化を拡張するためにオーバーライドします。 ( をオーバーライドしますCPropertySheet::OnInitDialog.) |
CMFCToolBarsCustomizeDialog::P ostNcDestroy | ウィンドウが破棄された後、フレームワークによって呼び出されます。 ( CPropertySheet::PostNcDestroy をオーバーライドします)。 |
CMFCToolBarsCustomizeDialog::RemoveButton | 指定したコマンド ID を持つボタンを、指定したカテゴリまたはすべてのカテゴリから削除します。 |
CMFCToolBarsCustomizeDialog::RenameCategory | Commands タブのカテゴリのリスト ボックスでカテゴリの名前を変更します。 |
CMFCToolBarsCustomizeDialog::ReplaceButton | Commands タブのコマンドの一覧にあるボタンを新しいツール バー ボタン オブジェクトに置き換えます。 |
CMFCToolBarsCustomizeDialog::SetUserCategory | Commands タブに表示されるカテゴリの一覧にカテゴリを追加します。 |
保護メソッド
名前 | 説明 |
---|---|
CMFCToolBarsCustomizeDialog::CheckToolsValidity | ユーザー定義ツールの一覧が有効かどうかを判断するために、フレームワークによって呼び出されます。 |
CMFCToolBarsCustomizeDialog::OnAfterChangeTool | ユーザー定義ツールのプロパティが変更されたときにフレームワークによって呼び出されます。 |
CMFCToolBarsCustomizeDialog::OnAssignKey | 指定したキーボード ショートカットをアクションに割り当てることができるかどうかを指定します。 |
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool | ユーザー定義ツールを変更できるかどうかを決定します。 |
CMFCToolBarsCustomizeDialog::OnInitToolsPage | ユーザーが Tools タブを選択したときにフレームワークによって呼び出されます。 |
解説
Customize ダイアログ ボックスを表示するには、CMFCToolBarsCustomizeDialog
オブジェクトを作成し、CMFCToolBarsCustomizeDialog::Create メソッドを呼び出します。
Customize ダイアログ ボックスがアクティブになっている間、アプリケーションは、ユーザーをカスタマイズ タスクに制限する特別なモードで動作します。
例
CMFCToolBarsCustomizeDialog
クラスのさまざまなメソッドの使用方法を次の例に示します。 この例では、 Commands ページのコマンドのリスト ボックスでツール バー ボタンを置き換え、 Customize ダイアログ ボックスを使用して新しいツール バーの作成を有効にして、 Customization ダイアログ ボックスを表示する方法を示します。 このコード スニペットは、 IE Demo サンプルの一部です。
pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();
継承階層
CMFCToolBarsCustomizeDialog
要件
Header: afxToolBarsCustomizeDialog.h
CMFCToolBarsCustomizeDialog::AddButton
Commands ページのコマンドの一覧にツール バー ボタンを挿入します。
void AddButton(
UINT uiCategoryId,
const CMFCToolBarButton& button,
int iInsertBefore=-1);
void AddButton(
LPCTSTR lpszCategory,
const CMFCToolBarButton& button,
int iInsertBefore=-1);
パラメーター
uiCategoryId
[in]ボタンを挿入するカテゴリ ID を指定します。
ボタン
[in]挿入するボタンを指定します。
iInsertBefore
[in]ボタンを挿入する前のツール バー ボタンの 0 から始まるインデックスを指定します。
lpszCategory
[in]ボタンを挿入するカテゴリ文字列を指定します。
解説
AddButton
メソッドは、標準のコマンド ID (ID_FILE_MRU_FILE1 など)、許可されていないコマンド (CMFCToolBar::IsCommandPermitted を参照) およびダミー ボタンを持つボタンを無視します。
このメソッドは、ボタンのランタイム クラスを使用して、 button
(通常は CMFCToolBarButton クラス) と同じ型の新しいオブジェクトを作成します。 次に、 CMFCToolBarButton::CopyFrom を呼び出してボタンのデータ メンバーをコピーし、指定したカテゴリにコピーを挿入します。
新しいボタンが挿入されると、 OnAddToCustomizePage
通知を受け取ります。
iInsertBefore
が -1 の場合、ボタンはカテゴリの一覧に追加されます。それ以外の場合は、指定したインデックスを持つ項目の前に挿入されます。
例
次の例では、CMFCToolBarsCustomizeDialog
クラスの AddButton
メソッドを使用する方法を示します。 このコード スニペットは、 Slider サンプルの一部です。
CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
TRUE /* Automatic menus scaning */);
CSliderButton btnSlider(ID_SLIDER);
btnSlider.SetRange(0, 100);
pDlgCust->AddButton(_T("Edit"), btnSlider);
CMFCToolBarsCustomizeDialog::AddMenu
リソースからメニューを読み込み、 CMFCToolBarsCustomizeDialog::AddMenuCommands を呼び出して、そのメニューを Commands ページのコマンドの一覧に追加します。
BOOL AddMenu(UINT uiMenuResId);
パラメーター
uiMenuResId
[in]読み込むメニューのリソース ID を指定します。
戻り値
メニューが正常に追加された場合は TRUE。それ以外の場合は FALSE。
解説
AddMenuCommands
の呼び出しでは、bPopup は FALSE です。 その結果、そのメソッドは、サブメニューを含むメニュー項目をコマンドの一覧に追加しません。 このメソッドは、サブメニュー内のメニュー項目をコマンドの一覧に追加します。
CMFCToolBarsCustomizeDialog::AddMenuCommands
Commands ページのコマンドの一覧に項目を追加して、指定したメニューのすべての項目を表します。
void AddMenuCommands(
const CMenu* pMenu,
BOOL bPopup,
LPCTSTR lpszCategory=NULL,
LPCTSTR lpszMenuPath=NULL);
パラメーター
pMenu
[in]追加する CMenu オブジェクトへのポインター。
bPopup
[in]ポップアップ メニュー項目をコマンドの一覧に挿入するかどうかを指定します。
lpszCategory
[in]メニューを挿入するカテゴリの名前。
lpszMenuPath
[in]コマンドが All Categories リストに表示されるときに名前に追加されるプレフィックス。
解説
AddMenuCommands
メソッドは、pMenu のすべてのメニュー項目をループします。 サブメニューを含まないメニュー項目ごとに、このメソッドは CMFCToolBarButton クラス オブジェクトを作成し、 CMFCToolBarsCustomizeDialog::AddButton メソッドを呼び出して、メニュー項目をツール バー ボタンとして Commands ページのコマンドの一覧に追加します。 このプロセスでは、区切り記号は無視されます。
bPopup が TRUE の場合、サブメニューを含むメニュー項目ごとに、このメソッドは CMFCToolBarMenuButton クラス オブジェクトを作成し、AddButton
を呼び出してコマンドの一覧に挿入します。 それ以外の場合、サブメニューを含むメニュー項目はコマンドの一覧に表示されません。 いずれの場合も、サブメニュー AddMenuCommands
メニュー項目が見つかると、それ自体が再帰的に呼び出され、サブメニューへのポインターが pMenu パラメーターとして渡され、サブメニューのラベルが lpszMenuPath に追加されます。
CMFCToolBarsCustomizeDialog::AddToolBar
リソースからツール バーを読み込みます。 次に、メニューの各コマンドについて、 CMFCToolBarsCustomizeDialog::AddButton メソッドを呼び出して、指定したカテゴリの下にある Commands ページのコマンドの一覧にボタンを挿入します。
BOOL AddToolBar(
UINT uiCategoryId,
UINT uiToolbarResId);
BOOL AddToolBar(
LPCTSTR lpszCategory,
UINT uiToolbarResId);
パラメーター
uiCategoryId
[in]ツール バーを追加するカテゴリのリソース ID を指定します。
uiToolbarResId
[in]コマンドの一覧にコマンドを挿入するツール バーのリソース ID を指定します。
lpszCategory
[in]ツール バーを追加するカテゴリの名前を指定します。
戻り値
メソッドが成功した場合は TRUE。それ以外の場合は FALSE。
例
次の例では、CMFCToolBarsCustomizeDialog
クラスで AddToolBar
メソッドを使用する方法を示します。 このコード スニペットは、 Word パッド サンプルの一部です。
CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
TRUE /* Automatic menus scaning */,
AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
AFX_CUSTOMIZE_MENU_ANIMATIONS);
pDlgCust->AddToolBar(_T("Format"), IDR_FORMATBAR);
解説
各コマンドを表すために使用されるコントロールは、 CMFCToolBarButton クラス オブジェクトです。 ツール バーを追加した後は、 CMFCToolBarsCustomizeDialog::ReplaceButton を呼び出すことによって、ボタンを派生型のコントロールに置き換えることができます。
CMFCToolBarsCustomizeDialog::CheckToolsValidity
ユーザー ツールの一覧の有効性を確認します。
virtual BOOL CheckToolsValidity(const CObList& lstTools);
パラメーター
lstTools
[in]チェックするユーザー定義ツールの一覧。
戻り値
ユーザー定義ツールの一覧が有効な場合は TRUE を返します。それ以外の場合は FALSE。 既定の実装では常に TRUE が返されます。
解説
フレームワークは、このメソッドを呼び出して、 CMFCToolBarsCustomizeDialog::CheckToolsValidity によって返されるユーザー定義ツールを表すオブジェクトの有効性を確認します。
ユーザーがダイアログ ボックスを閉じる前にユーザー ツールを検証する場合は、CMFCToolBarsCustomizeDialog
から派生したクラスのCheckToolsValidity
メソッドをオーバーライドします。 ユーザーがダイアログ ボックスの右上隅にある Close ボタン、またはダイアログ ボックスの右下隅にある Close というラベルのボタンをクリックしたときに、このメソッドが FALSE を返す場合、ダイアログ ボックスは閉じる代わりに Tools タブを表示します。 ユーザーがタブをクリックして Tools タブから移動したときにこのメソッドが FALSE を返した場合、ナビゲーションは行われません。 検証が失敗した原因となった問題をユーザーに通知する適切なメッセージ ボックスを表示する必要があります。
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog
CMFCToolBarsCustomizeDialog
オブジェクトを構築します。
CMFCToolBarsCustomizeDialog(
CFrameWnd* pWndParentFrame,
BOOL bAutoSetFromMenus = FALSE,
UINT uiFlags = (AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS | AFX_CUSTOMIZE_MENU_ANIMATIONS | AFX_CUSTOMIZE_NOHELP),
CList <CRuntimeClass*, CRuntimeClass*>* p listCustomPages = NULL);
パラメーター
pWndParentFrame
[in]親フレームへのポインター。 このパラメーターを NULL にすることはできません。
bAutoSetFromMenus
[in]すべてのメニューのメニュー コマンドを Commands ページのコマンドの一覧に追加するかどうかを指定するブール値。 このパラメーターが TRUE の場合、メニュー コマンドが追加されます。 それ以外の場合、メニュー コマンドは追加されません。
uiFlags
[in]ダイアログ ボックスの動作に影響するフラグの組み合わせ。 このパラメーターには、以下の値の 1 つ以上を指定できます。
AFX_CUSTOMIZE_MENU_SHADOWS
AFX_CUSTOMIZE_TEXT_LABELS
AFX_CUSTOMIZE_MENU_ANIMATIONS
AFX_CUSTOMIZE_NOHELP
AFX_CUSTOMIZE_CONTEXT_HELP
AFX_CUSTOMIZE_NOTOOLS
AFX_CUSTOMIZE_MENUAMPERS
AFX_CUSTOMIZE_NO_LARGE_ICONS
plistCustomPages
[in]追加のカスタム ページを指定 CRuntimeClass
オブジェクトの一覧へのポインター。
解説
plistCustomPages パラメーターは、追加のカスタム ページを指定CRuntimeClass
オブジェクトの一覧を参照します。 コンストラクターは、 CRuntimeClass::CreateObject メソッドを使用して、ダイアログ ボックスにさらにページを追加します。 Customize ダイアログ ボックスにページを追加する例については、CustomPages サンプルを参照してください。
uiFlags パラメーターで渡すことができる値の詳細については、「CMFCToolBarsCustomizeDialog::GetFlagsを参照してください。
例
次の例では、 CMFCToolBarsCustomizeDialog
クラスのオブジェクトを構築する方法を示します。 このコード スニペットは、 Custom Pages サンプルの一部です。
CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
TRUE /* Automatic menus scaning */,
AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
AFX_CUSTOMIZE_MENU_ANIMATIONS, // default parameters
&lstCustomPages); // pointer to the list of runtime classes of the custom property pages
CMFCToolBarsCustomizeDialog::Create
Customization ダイアログ ボックスを表示します。
virtual BOOL Create();
戻り値
カスタマイズ プロパティ シートが正常に作成された場合は TRUE。それ以外の場合は FALSE。
解説
クラスを完全に初期化した後にのみ、 Create
メソッドを呼び出します。
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars
Customize ダイアログ ボックスを使用して、新しいツール バーの作成を有効または無効にします。
void EnableUserDefinedToolbars(BOOL bEnable=TRUE);
パラメーター
bEnable
[in]ユーザー定義ツール バーを有効にする場合は TRUE。ツールバーを無効にする場合は FALSE。
解説
bEnable が TRUE の場合、New、Rename および Delete ボタンが Toolbars ページに表示されます。
既定では、または bEnable が FALSE の場合、これらのボタンは表示されず、ユーザーは新しいツール バーを定義できません。
CMFCToolBarsCustomizeDialog::FillAllCommandsList
指定した CListBox
オブジェクトに、 All Commands カテゴリのコマンドを設定します。
virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;
パラメーター
wndListOfCommands
[out]設定する CListBox
オブジェクトへの参照。
解説
すべてのコマンド カテゴリには、すべてのカテゴリのコマンドが含まれています。 CMFCToolBarsCustomizeDialog::AddButton メソッドは、指定されたボタンに関連付けられているコマンドを All Commands カテゴリに追加します。
このメソッドは、指定された CListBox
オブジェクトの内容をクリアしてから、 All Commands カテゴリのコマンドを設定します。
CMFCMousePropertyPage
クラスでは、このメソッドを使用してダブルクリック イベント リスト ボックスを設定します。
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox
指定した CComboBox
オブジェクトに、 Customize ダイアログ ボックスの各コマンド カテゴリの名前を設定します。
void FillCategoriesComboBox(
CComboBox& wndCategory,
BOOL bAddEmpty = TRUE) const;
パラメーター
wndCategory
[out]設定する CComboBox
オブジェクトへの参照。
bAddEmpty
[in]コマンドのないコンボ ボックスにカテゴリを追加するかどうかを指定するブール値。 このパラメーターが TRUE の場合、空のカテゴリがコンボ ボックスに追加されます。 それ以外の場合、空のカテゴリは追加されません。
解説
このメソッドは、 CMFCToolBarsCustomizeDialog::FillCategoriesListBox メソッドに似ていますが、このメソッドは CComboBox
オブジェクトで動作します。
このメソッドは、 CComboBox
オブジェクトを設定する前に、その内容をクリアしません。 All Commands カテゴリがコンボ ボックスの最後の項目であることが保証されます。
CMFCToolBarsCustomizeDialog::AddButton メソッドを使用して、新しいコマンド カテゴリを追加できます。 CMFCToolBarsCustomizeDialog::RenameCategory メソッドを使用して、既存のカテゴリの名前を変更できます。
CMFCToolBarsKeyboardPropertyPage
クラスとCMFCKeyMapDialog
クラスでは、このメソッドを使用してキーボード マッピングを分類します。
CMFCToolBarsCustomizeDialog::FillCategoriesListBox
指定した CListBox
オブジェクトに、 Customize ダイアログ ボックスの各コマンド カテゴリの名前を設定します。
void FillCategoriesListBox(
CListBox& wndCategory,
BOOL bAddEmpty = TRUE) const;
パラメーター
wndCategory
[out]設定する CListBox
オブジェクトへの参照。
bAddEmpty
[in]コマンドがないリスト ボックスにカテゴリを追加するかどうかを指定するブール値。 このパラメーターが TRUE の場合、空のカテゴリがリスト ボックスに追加されます。 それ以外の場合、空のカテゴリは追加されません。
解説
このメソッドは CMFCToolBarsCustomizeDialog::FillCategoriesComboBox メソッドに似ていますが、このメソッドは CListBox
オブジェクトで動作します。
このメソッドは、 CListBox
オブジェクトを設定する前に、その内容をクリアしません。 すべてのコマンド カテゴリがリスト ボックスの最後の項目であることが保証されます。
CMFCToolBarsCustomizeDialog::AddButton メソッドを使用して、新しいコマンド カテゴリを追加できます。 CMFCToolBarsCustomizeDialog::RenameCategory メソッドを使用して、既存のカテゴリの名前を変更できます。
CMFCToolBarsCommandsPropertyPage
クラスは、このメソッドを使用して、各コマンド カテゴリに関連付けられているコマンドの一覧を表示します。
CMFCToolBarsCustomizeDialog::GetCommandName
指定されたコマンド ID に関連付けられている名前を取得します。
LPCTSTR GetCommandName(UINT uiCmd) const;
パラメーター
uiCmd
[in]取得するコマンドの ID。
戻り値
指定されたコマンド ID に関連付けられている名前。コマンドが存在しない場合は NULL。
CMFCToolBarsCustomizeDialog::GetCountInCategory
指定されたテキスト ラベルを持つ指定されたリスト内の項目の数を取得します。
int GetCountInCategory(
LPCTSTR lpszItemName,
const CObList& lstCommands) const;
パラメーター
lpszItemName
[in]一致するテキスト ラベル。
lstCommands
[in] CMFCToolBarButton
オブジェクトを含むリストへの参照。
戻り値
テキスト ラベルが lpszItemName と等しい、指定されたリスト内の項目の数。
解説
指定されたオブジェクト リスト内の各要素は、 CMFCToolBarButton
型である必要があります。 このメソッドは、 lpszItemName を CMFCToolBarButton::m_strText データ メンバーと比較します。
CMFCToolBarsCustomizeDialog::GetFlags
ダイアログ ボックスの動作に影響するフラグのセットを取得します。
UINT GetFlags() const;
戻り値
ダイアログ ボックスの動作に影響するフラグのセット。
解説
このメソッドは、コンストラクターに渡される uiFlags パラメーターの値を取得します。 戻り値には、次の値のうち 1 つ以上を指定できます。
名前 | 説明 |
---|---|
AFX_CUSTOMIZE_MENU_SHADOWS | ユーザーがメニューの影の外観を指定できるようにします。 |
AFX_CUSTOMIZE_TEXT_LABELS | ユーザーは、ツール バー ボタンの画像の下にテキスト ラベルを表示するかどうかを指定できます。 |
AFX_CUSTOMIZE_MENU_ANIMATIONS | ユーザーがメニュー アニメーション スタイルを指定できるようにします。 |
AFX_CUSTOMIZE_NOHELP | カスタマイズ ダイアログ ボックスからヘルプ ボタンを削除します。 |
AFX_CUSTOMIZE_CONTEXT_HELP | WS_EX_CONTEXTHELP表示スタイルを有効にします。 |
AFX_CUSTOMIZE_NOTOOLS | カスタマイズ ダイアログ ボックスから Tools ページを削除します。 このフラグは、アプリケーションで CUserToolsManager クラスを使用する場合に有効です。 |
AFX_CUSTOMIZE_MENUAMPERS | ボタンのキャプションにアンパサンド ( &) 文字を含めます。 |
AFX_CUSTOMIZE_NO_LARGE_ICONS | カスタマイズ ダイアログ ボックスから Large アイコン オプションを削除します。 |
WS_EX_CONTEXTHELP表示スタイルの詳細については、「 Extended Window Styles」を参照してください。
CMFCToolBarsCustomizeDialog::OnAfterChangeTool
ユーザー ツールの変更が発生した直後に応答します。
virtual void OnAfterChangeTool(CUserTool* pSelTool);
パラメーター
pSelTool
[入力、出力]変更されたユーザー ツール オブジェクトへのポインター。
解説
このメソッドは、ユーザーがユーザー定義ツールのプロパティを変更したときにフレームワークによって呼び出されます。 既定の実装では、何も行われません。 ユーザー ツールの変更後に処理を実行するには、 CMFCToolBarsCustomizeDialog
から派生したクラスでこのメソッドをオーバーライドします。
CMFCToolBarsCustomizeDialog::OnAssignKey
ユーザーがキーボード ショートカットを定義する場合に、キーボード ショートカットを検証します。
virtual BOOL OnAssignKey(ACCEL* pAccel);
パラメーター
pAccel
[入力、出力] ACCEL 構造体として表される、提案されたキーボード割り当てへのポインター。
戻り値
キーを割り当てることができる場合は TRUE、キーを割り当てることができない場合は FALSE。 既定の実装では常に TRUE が返されます。
解説
ユーザーが新しいキーボード ショートカットを割り当てるときに追加の処理を実行したり、ユーザーがキーボード ショートカットを定義するときにキーボード ショートカットを検証したりするには、派生クラスでこのメソッドをオーバーライドします。 ショートカットが割り当てられないようにするには、FALSE を返します。 また、メッセージ ボックスを表示するか、キーボード ショートカットが拒否された理由をユーザーに通知する必要があります。
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool
ユーザーが変更を適用しようとしているときに、ユーザー ツールに変更を適用するときにカスタム処理を実行します。
virtual void OnBeforeChangeTool(CUserTool* pSelTool);
パラメーター
pSelTool
[入力、出力]置き換えられるユーザー ツール オブジェクトへのポインター。
解説
このメソッドは、ユーザー定義ツールのプロパティが変更されようとしているときにフレームワークによって呼び出されます。 既定の実装では、何も行われません。 pSelTool使用するリソースの解放など、ユーザー ツールへの変更が発生する前に処理を実行する場合は、CMFCToolBarsCustomizeDialog
から派生したクラスのOnBeforeChangeTool
メソッドをオーバーライドします。
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage
ユーザーがツール バー ボタンまたはメニュー項目アイコンをカスタマイズできるように、イメージ エディターを起動します。
virtual BOOL OnEditToolbarMenuImage(
CWnd* pWndParent,
CBitmap& bitmap,
int nBitsPerPixel);
パラメーター
pWndParent
[in]親ウィンドウへのポインター。
ビットマップ
[in]編集するビットマップ オブジェクトへの参照。
nBitsPerPixel
[in]ビットマップの色の解像度 (ピクセルあたりのビット数)。
戻り値
変更がコミットされている場合は TRUE。それ以外の場合は FALSE。 既定の実装では、ダイアログ ボックスが表示され、ユーザーが OK をクリックした場合は TRUE、ユーザーが Cancel または Close ボタンをクリックした場合は FALSE を返します。
解説
このメソッドは、ユーザーがイメージ エディターを実行するときにフレームワークによって呼び出されます。 既定の実装では、OnEditToolbarMenuImage
をオーバーライドします。
CMFCToolBarsCustomizeDialog::OnInitDialog
プロパティ シートの初期化を拡張するためにオーバーライドします。
virtual BOOL OnInitDialog();
戻り値
CPropertySheet::OnInitDialog メソッドを呼び出した結果。
解説
このメソッドは、Close ボタンを表示し、ダイアログ ボックスが現在の画面サイズに合っていることを確認し、Help ボタンをダイアログ ボックスの左下隅に移動することで、基底クラスの実装である CPropertySheet::OnInitDialog を拡張します。
CMFCToolBarsCustomizeDialog::OnInitToolsPage
Tools ページが初期化されようとしていることを示す通知をフレームワークから処理します。
virtual void OnInitToolsPage();
解説
既定の実装では、何も行われません。 この通知を処理するには、派生クラスでこのメソッドをオーバーライドします。
CMFCToolBarsCustomizeDialog::P ostNcDestroy
ウィンドウが破棄された後、フレームワークによって呼び出されます。
virtual void PostNcDestroy();
解説
このメソッドは、アプリケーションを前のモードに復元することで、基底クラスの実装 ( CPropertySheet::PostNcDestroy
) を拡張します。
CMFCToolBarsCustomizeDialog::Create メソッドは、ユーザーをカスタマイズ タスクに制限する特別なモードでアプリケーションを配置します。
CMFCToolBarsCustomizeDialog::RemoveButton
指定したコマンド ID を持つボタンを、指定したカテゴリまたはすべてのカテゴリから削除します。
int RemoveButton(
UINT uiCategoryId,
UINT uiCmdId);
int RemoveButton(
LPCTSTR lpszCategory,
UINT uiCmdId);
パラメーター
uiCategoryId
[in]ボタンを削除するカテゴリ ID を指定します。
uiCmdId
[in]ボタンのコマンド ID を指定します。
lpszCategory
[in]ボタンを削除するカテゴリの名前を指定します。
戻り値
削除されたボタンの 0 から始まるインデックス。指定したコマンド ID が指定されたカテゴリに見つからなかった場合は -1。 uiCategoryId が -1 の場合、戻り値は 0 になります。
解説
すべてのカテゴリからボタンを削除するには、このメソッドの最初のオーバーロードを呼び出し、 uiCategoryId -1 に設定します。
CMFCToolBarsCustomizeDialog::RenameCategory
Commands ページのカテゴリのリスト ボックスでカテゴリの名前を変更します。
BOOL RenameCategory(
LPCTSTR lpszCategoryOld,
LPCTSTR lpszCategoryNew);
パラメーター
lpszCategoryOld
[in]変更するカテゴリ名。
lpszCategoryNew
[in]新しいカテゴリ名。
戻り値
メソッドが成功した場合は TRUE。それ以外の場合は FALSE。
解説
カテゴリ名は一意である必要があります。
CMFCToolBarsCustomizeDialog::ReplaceButton
Commands ページのコマンドのリスト ボックスのツール バー ボタンを置き換えます。
void ReplaceButton(
UINT uiCmd,
const CMFCToolBarButton& button);
パラメーター
uiCmd
[in]置き換えるボタンのコマンドを指定します。
ボタン
[in]古いボタンを置き換えるツール バー ボタン オブジェクトへの const
参照。
解説
CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands, または CMFCToolBarsCustomizeDialog::AddToolBar Commands ページにコマンドを追加します。このコマンドは、CMFCToolBarButton Class オブジェクト (または、AddMenuCommands
によって追加されたサブメニューを含むメニュー項目の CMFCToolBarMenuButton クラス オブジェクト) の形式です。 フレームワークでは、これら 3 つのメソッドも呼び出して、コマンドを自動的に追加します。 代わりにコマンドを派生型で表す場合は、 ReplaceButton
呼び出し、派生型のボタンを渡します。
例
次の例では、CMFCToolBarsCustomizeDialog
クラスで ReplaceButton
メソッドを使用する方法を示します。 このコード スニペットは、Visual Studio デモ サンプルの一部です。
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCToolBarComboBoxButton comboButtonConfig
pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);
CMFCToolBarsCustomizeDialog::SetUserCategory
Commands ページのカテゴリの一覧で、どのカテゴリがユーザー カテゴリであるかを指定します。 この関数は、 CMFCToolBarsCustomizeDialog::Create を呼び出す前に呼び出す必要があります。
BOOL SetUserCategory(LPCTSTR lpszCategory);
パラメーター
lpszCategory
[in]カテゴリの名前。
戻り値
メソッドが成功した場合は TRUE。それ以外の場合は FALSE。
解説
ユーザー カテゴリの設定は、現在、フレームワークでは使用されていません。