CMFCToolBarsCustomizeDialog クラス
ユーザーがアプリケーションのツール バー、メニュー、キーボード ショートカット、ユーザー定義ツール、およびビジュアル スタイルをカスタマイズできるようにするモードレス タブ ダイアログ ボックス ( CPropertySheet クラス)。 通常、このダイアログ ボックスを表示するには、 [ツール] メニューの [ユーザー設定] をクリックします。
[カスタマイズ] ダイアログ ボックスには、[コマンド]、[ツール バー]、[ツール]、[キーボード]、[メニュー]、[オプション] の 6 つのタブがあります。
構文
class CMFCToolBarsCustomizeDialog : public CPropertySheet
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog | CMFCToolBarsCustomizeDialog オブジェクトを構築します。 |
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog |
デストラクターです。 |
パブリック メソッド
名前 | 説明 |
---|---|
CMFCToolBarsCustomizeDialog::AddButton | [コマンド] ページのコマンドの一覧にツール バー ボタンを挿入します |
CMFCToolBarsCustomizeDialog::AddMenu | リソースからメニューを読み込み、CMFCToolBarsCustomizeDialog::AddMenuCommands を呼び出して、[コマンド] ページのコマンドの一覧にそのメニューを追加します。 |
CMFCToolBarsCustomizeDialog::AddMenuCommands | リソースからメニューを読み込み、CMFCToolBarsCustomizeDialog::AddMenuCommands を呼び出して、[コマンド] ページのコマンドの一覧にそのメニューを追加します。 |
CMFCToolBarsCustomizeDialog::AddToolBar | リソースからツール バーを読み込みます。 次に、メニューの各コマンドについて CMFCToolBarsCustomizeDialog::AddButton メソッドを呼び出して、指定されたカテゴリの [コマンド] ページのコマンドの一覧にボタンを挿入します。 |
CMFCToolBarsCustomizeDialog::Create | [カスタマイズ] ダイアログ ボックスを表示します。 |
CMFCToolBarsCustomizeDialog::EnableTools |
将来利用するために予約されています。 |
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars | [カスタマイズ] ダイアログ ボックスを使用して、新しいツール バーの作成を有効または無効にします。 |
CMFCToolBarsCustomizeDialog::FillAllCommandsList | 指定CListBox されたオブジェクトに、[すべてのコマンド] カテゴリのコマンドを設定します。 |
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox | 指定されたオブジェクトにCComboBox 、[カスタマイズ] ダイアログ ボックスの各コマンド カテゴリの名前を設定します。 |
CMFCToolBarsCustomizeDialog::FillCategoriesListBox | 指定されたオブジェクトにCListBox 、[カスタマイズ] ダイアログ ボックスの各コマンド カテゴリの名前を設定します。 |
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 | [コマンド] タブのカテゴリのリスト ボックスでカテゴリの名前を変更します。 |
CMFCToolBarsCustomizeDialog::ReplaceButton | [コマンド] タブのコマンドの一覧にあるボタンを、新しいツール バー ボタン オブジェクトに置き換えます。 |
CMFCToolBarsCustomizeDialog::SetUserCategory | [コマンド] タブに表示されるカテゴリの一覧にカテゴリを追加します。 |
保護メソッド
名前 | 説明 |
---|---|
CMFCToolBarsCustomizeDialog::CheckToolsValidity | ユーザー定義ツールの一覧が有効かどうかを判断するために、フレームワークによって呼び出されます。 |
CMFCToolBarsCustomizeDialog::OnAfterChangeTool | ユーザー定義ツールのプロパティが変更されたときにフレームワークによって呼び出されます。 |
CMFCToolBarsCustomizeDialog::OnAssignKey | 指定したキーボード ショートカットをアクションに割り当てることができるかどうかを指定します。 |
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool | ユーザー定義ツールを変更できるかどうかを決定します。 |
CMFCToolBarsCustomizeDialog::OnInitToolsPage | ユーザーが [ツール] タブを選択したときにフレームワークによって呼び出されます。 |
解説
[カスタマイズ] ダイアログ ボックスを表示するには、オブジェクトをCMFCToolBarsCustomizeDialog
作成し、CMFCToolBarsCustomizeDialog::Create メソッドを呼び出します。
[カスタマイズ] ダイアログ ボックスがアクティブな間、アプリケーションは、ユーザーをカスタマイズ タスクに制限する特別なモードで動作します。
例
CMFCToolBarsCustomizeDialog
クラスのさまざまなメソッドの使用方法を次の例に示します。 この例では、[コマンド] ページのコマンドのリスト ボックスでツール バー ボタンを置き換え、[カスタマイズ] ダイアログ ボックスを使用して新しいツール バーの作成を有効にして、[カスタマイズ] ダイアログ ボックスを表示する方法を示します。 このコード スニペットは、IE デモ サンプルの一部です。
pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();
継承階層
CMFCToolBarsCustomizeDialog
要件
ヘッダー: afxToolBarsCustomizeDialog.h
CMFCToolBarsCustomizeDialog::AddButton
[コマンド] ページのコマンドの一覧にツール バー ボタンを挿入します。
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 を参照) およびダミー ボタンを持つボタンを無視します。
このメソッドは、ボタンのランタイム クラスを使用して、(通常は CMFCToolBarButton クラス) と同じ型button
の新しいオブジェクトを作成します。 次に、CMFCToolBarButton::CopyFrom を呼び出してボタンのデータ メンバーをコピーし、指定したカテゴリにコピーを挿入します。
新しいボタンが挿入されると、通知を OnAddToCustomizePage
受け取ります。
-1 の場合、ボタンはカテゴリのリストに追加されます。それ以外の場合 iInsertBefore
は、指定したインデックスを持つ項目の前に挿入されます。
例
次の例では、クラスのメソッドを使用する AddButton
方法を CMFCToolBarsCustomizeDialog
示します。 このコード スニペットは、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 を呼び出して、[コマンド] ページのコマンドの一覧にそのメニューを追加します。
BOOL AddMenu(UINT uiMenuResId);
パラメーター
uiMenuResId
[in]読み込むメニューのリソース ID を指定します。
戻り値
メニューが正常に追加された場合は TRUE。それ以外の場合は FAL Standard Edition。
解説
への呼び出しAddMenuCommands
では、bPopup は FAL Standard Edition です。 その結果、そのメソッドは、サブメニューを含むメニュー項目をコマンドの一覧に追加しません。 このメソッドは、サブメニュー内のメニュー項目をコマンドの一覧に追加します。
CMFCToolBarsCustomizeDialog::AddMenuCommands
指定したメニューのすべての項目を表すコマンド ページのコマンドの一覧に項目を追加します。
void AddMenuCommands(
const CMenu* pMenu,
BOOL bPopup,
LPCTSTR lpszCategory=NULL,
LPCTSTR lpszMenuPath=NULL);
パラメーター
pMenu
[in]追加する CMenu オブジェクトへのポインター。
bPopup
[in]ポップアップ メニュー項目をコマンドの一覧に挿入するかどうかを指定します。
lpszCategory
[in]メニューを挿入するカテゴリの名前。
lpszMenuPath
[in]コマンドが [すべてのカテゴリ] リストに表示されるときに名前に追加されるプレフィックス。
解説
このメソッドはAddMenuCommands
、pMenu のすべてのメニュー項目をループします。 サブメニューを含まないメニュー項目ごとに、このメソッドは CMFCToolBarButton クラス オブジェクトを作成し、CMFCToolBarsCustomizeDialog::AddButton メソッドを呼び出して、メニュー項目をツール バー ボタンとして [コマンド] ページのコマンドの一覧に追加します。 このプロセスでは、区切り記号は無視されます。
bPopup が TRUE の場合、サブメニューを含む各メニュー項目に対して、このメソッドは CMFCToolBarMenuButton クラス オブジェクトを作成し、それを呼び出AddButton
してコマンドの一覧に挿入します。 それ以外の場合、サブメニューを含むメニュー項目はコマンドの一覧に表示されません。 どちらの場合も、サブメニューを持つメニュー項目に遭遇するとAddMenuCommands
、それ自体が再帰的に呼び出され、サブメニューへのポインターが pMenu パラメーターとして渡され、サブメニューのラベルが lpszMenuPath に追加されます。
CMFCToolBarsCustomizeDialog::AddToolBar
リソースからツール バーを読み込みます。 次に、メニューの各コマンドについて CMFCToolBarsCustomizeDialog::AddButton メソッドを呼び出して、指定されたカテゴリの [コマンド] ページのコマンドの一覧にボタンを挿入します。
BOOL AddToolBar(
UINT uiCategoryId,
UINT uiToolbarResId);
BOOL AddToolBar(
LPCTSTR lpszCategory,
UINT uiToolbarResId);
パラメーター
uiCategoryId
[in]ツール バーを追加するカテゴリのリソース ID を指定します。
uiToolbarResId
[in]コマンドの一覧にコマンドを挿入するツール バーのリソース ID を指定します。
lpszCategory
[in]ツール バーを追加するカテゴリの名前を指定します。
戻り値
メソッドが成功した場合は TRUE。それ以外の場合は FAL Standard Edition。
例
次の例では、クラスでメソッドを使用する AddToolBar
方法を CMFCToolBarsCustomizeDialog
示します。 このコード スニペットは、 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 を返します。それ以外の場合は FAL Standard Edition。 既定の実装では常に TRUE が返されます。
解説
フレームワークは、このメソッドを呼び出して、CMFCToolBarsCustomizeDialog::CheckToolsValidity によって返されるユーザー定義ツールを表すオブジェクトの有効性を確認します。
ユーザーがダイアログ ボックスを CheckToolsValidity
閉じる前にユーザー ツールを検証する場合は、派生 CMFCToolBarsCustomizeDialog
クラスのメソッドをオーバーライドします。 このメソッドが FAL を返す場合Standard Editionユーザーがダイアログ ボックスの右上隅にある [閉じる] ボタンまたはダイアログ ボックスの右下隅にある [閉じる] ボタンをクリックすると、ダイアログ ボックスは閉じるのではなく [ツール] タブを表示します。 このメソッドが FAL を返す場合Standard Editionユーザーがタブをクリックして [ツール] タブから移動しても、ナビゲーションは行われません。 検証が失敗した原因となった問題をユーザーに通知する適切なメッセージ ボックスを表示する必要があります。
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]すべてのメニューのメニュー コマンドを [コマンド] ページのコマンドの一覧に追加するかどうかを指定するブール値。 このパラメーターが 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 メソッドを使用して、ダイアログ ボックスにさらにページを追加します。 [カスタマイズ] ダイアログ ボックスにページを追加する例については、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
[カスタマイズ] ダイアログ ボックスを表示します。
virtual BOOL Create();
戻り値
カスタマイズ プロパティ シートが正常に作成された場合は TRUE。それ以外の場合は FAL Standard Edition。
解説
クラスを完全に Create
初期化した後でのみ、メソッドを呼び出します。
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars
[カスタマイズ] ダイアログ ボックスを使用して、新しいツール バーの作成を有効または無効にします。
void EnableUserDefinedToolbars(BOOL bEnable=TRUE);
パラメーター
bEnable
[in]ユーザー定義ツール バーを有効にする場合は TRUE。FAL Standard Edition ツールバーを無効にします。
解説
bEnable が TRUE の場合、[ツール バー]ページに [新規]、[名前の変更] ボタン、および [削除] ボタンが表示されます。
既定では、または bEnable が FAL Standard Edition の場合、これらのボタンは表示されず、ユーザーは新しいツール バーを定義できません。
CMFCToolBarsCustomizeDialog::FillAllCommandsList
指定CListBox
されたオブジェクトに、[すべてのコマンド] カテゴリのコマンドを設定します。
virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;
パラメーター
wndListOfCommands
[out]設定する CListBox
オブジェクトへの参照。
解説
[ すべてのコマンド] カテゴリには、すべてのカテゴリのコマンドが含まれています。 CMFCToolBarsCustomizeDialog::AddButton メソッドは、指定されたボタンに関連付けられているコマンドを [すべてのコマンド] カテゴリに追加します。
このメソッドは、指定CListBox
されたオブジェクトの内容をクリアしてから、すべてのコマンド カテゴリのコマンドを設定します。
このクラスでは CMFCMousePropertyPage
、このメソッドを使用してダブルクリック イベント リスト ボックスを設定します。
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox
指定されたオブジェクトにCComboBox
、[カスタマイズ] ダイアログ ボックスの各コマンド カテゴリの名前を設定します。
void FillCategoriesComboBox(
CComboBox& wndCategory,
BOOL bAddEmpty = TRUE) const;
パラメーター
wndCategory
[out]設定する CComboBox
オブジェクトへの参照。
bAddEmpty
[in]コマンドのないコンボ ボックスにカテゴリを追加するかどうかを指定するブール値。 このパラメーターが TRUE の場合、空のカテゴリがコンボ ボックスに追加されます。 それ以外の場合、空のカテゴリは追加されません。
解説
このメソッドは CMFCToolBarsCustomizeDialog::FillCategoriesListBox メソッドに似ています が、 このメソッドはオブジェクトで CComboBox
動作します。
このメソッドは、データを設定する前に CComboBox
オブジェクトの内容をクリアしません。 [すべてのコマンド] カテゴリがコンボ ボックスの最後の項目であることが保証されます。
CMFCToolBarsCustomizeDialog::AddButton メソッドを使用して、新しいコマンド カテゴリを追加できます。 CMFCToolBarsCustomizeDialog::RenameCategory メソッドを使用して、既存のカテゴリの名前を変更できます。
クラスとクラスCMFCKeyMapDialog
ではCMFCToolBarsKeyboardPropertyPage
、このメソッドを使用してキーボード マッピングを分類します。
CMFCToolBarsCustomizeDialog::FillCategoriesListBox
指定されたオブジェクトにCListBox
、[カスタマイズ] ダイアログ ボックスの各コマンド カテゴリの名前を設定します。
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 | カスタマイズ ダイアログ ボックスから [ツール] ページを削除します。 このフラグは、アプリケーションでクラスを使用する場合に CUserToolsManager 有効です。 |
AFX_CUSTOMIZE_MENUAMPERS | ボタン キャプションにアンパサンド (&) 文字を含めます。 |
AFX_CUSTOMIZE_NO_LARGE_ICONS | カスタマイズ ダイアログ ボックスから [ 大きいアイコン ] オプションを削除します。 |
WS_EX_CONTEXTHELP表示スタイルの詳細については、「拡張ウィンドウ スタイル」を参照してください。
CMFCToolBarsCustomizeDialog::OnAfterChangeTool
ユーザー ツールの変更が発生した直後に応答します。
virtual void OnAfterChangeTool(CUserTool* pSelTool);
パラメーター
pSelTool
[入力、出力]変更されたユーザー ツール オブジェクトへのポインター。
解説
このメソッドは、ユーザーがユーザー定義ツールのプロパティを変更したときにフレームワークによって呼び出されます。 既定の実装では、何も行われません。 ユーザー ツールの変更後に処理を実行するために、派生 CMFCToolBarsCustomizeDialog
クラスでこのメソッドをオーバーライドします。
CMFCToolBarsCustomizeDialog::OnAssignKey
ユーザーがキーボード ショートカットを定義する場合に、キーボード ショートカットを検証します。
virtual BOOL OnAssignKey(ACCEL* pAccel);
パラメーター
pAccel
[入力、出力]ACCEL 構造体として表される、提案されたキーボード割り当てへのポインター。
戻り値
キーを割り当てることができる場合は TRUE、キーを割り当てることができない場合は FAL Standard Edition。 既定の実装では常に TRUE が返されます。
解説
ユーザーが新しいキーボード ショートカットを割り当てるときに追加の処理を実行したり、ユーザーがキーボード ショートカットを定義するときにキーボード ショートカットを検証したりするには、派生クラスでこのメソッドをオーバーライドします。 ショートカットが割り当てられないようにするには、FAL Standard Edition を返します。 また、メッセージ ボックスを表示するか、キーボード ショートカットが拒否された理由をユーザーに通知する必要があります。
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool
ユーザーが変更を適用しようとしているときに、ユーザー ツールに変更を適用するときにカスタム処理を実行します。
virtual void OnBeforeChangeTool(CUserTool* pSelTool);
パラメーター
pSelTool
[入力、出力]置き換えられるユーザー ツール オブジェクトへのポインター。
解説
このメソッドは、ユーザー定義ツールのプロパティが変更されようとしているときにフレームワークによって呼び出されます。 既定の実装では、何も行われません。 OnBeforeChangeTool
pSelTool で使用されるCMFCToolBarsCustomizeDialog
リソースの解放など、ユーザー ツールへの変更が発生する前に処理を実行する場合は、派生クラスのメソッドをオーバーライドします。
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage
ユーザーがツール バー ボタンまたはメニュー項目アイコンをカスタマイズできるように、イメージ エディターを起動します。
virtual BOOL OnEditToolbarMenuImage(
CWnd* pWndParent,
CBitmap& bitmap,
int nBitsPerPixel);
パラメーター
pWndParent
[in]親ウィンドウへのポインター。
ビットマップ
[in]編集するビットマップ オブジェクトへの参照。
nBitsPerPixel
[in]ビットマップの色の解像度 (ピクセルあたりのビット数)。
戻り値
変更がコミットされている場合は TRUE。それ以外の場合は FAL Standard Edition。 既定の実装では、ダイアログ ボックスが表示され、ユーザーが [OK] をクリックした場合は TRUE、ユーザーが [キャンセル] または [閉じる] ボタンをクリックした場合Standard Edition FAL が返されます。
解説
このメソッドは、ユーザーがイメージ エディターを実行するときにフレームワークによって呼び出されます。 既定の実装では、[ CMFCImageEditorDialog クラス ] ダイアログ ボックスが表示されます。 カスタム イメージ エディターを使用するには、派生クラスでオーバーライド OnEditToolbarMenuImage
します。
CMFCToolBarsCustomizeDialog::OnInitDialog
プロパティ シートの初期化を拡張するためにオーバーライドします。
virtual BOOL OnInitDialog();
戻り値
CPropertySheet::OnInitDialog メソッドを呼び出した結果。
解説
このメソッドは、ダイアログ ボックスが現在の画面サイズに合っていることを確認し、ヘルプ ボタンをダイアログ ボックスの左下隅に移動することで、[閉じる] ボタンを表示することで、基本クラスの実装である CPropertySheet::OnInitDialog を拡張します。
CMFCToolBarsCustomizeDialog::OnInitToolsPage
[ツール] ページが初期化されようとしていることを示すフレームワークからの通知を処理します。
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
[コマンド] ページのカテゴリのリスト ボックスでカテゴリの名前を変更します。
BOOL RenameCategory(
LPCTSTR lpszCategoryOld,
LPCTSTR lpszCategoryNew);
パラメーター
lpszCategoryOld
[in]変更するカテゴリ名。
lpszCategoryNew
[in]新しいカテゴリ名。
戻り値
メソッドが成功した場合は TRUE。それ以外の場合は FAL Standard Edition。
解説
カテゴリ名は一意である必要があります。
CMFCToolBarsCustomizeDialog::ReplaceButton
[コマンド] ページのコマンドのリスト ボックスにあるツール バー ボタンを置き換えます。
void ReplaceButton(
UINT uiCmd,
const CMFCToolBarButton& button);
パラメーター
Uicmd
[in]置き換えるボタンのコマンドを指定します。
ボタン
[in] const
古いボタンを置き換えるツール バー ボタン オブジェクトへの参照。
解説
CMFCToolBarsCustomizeDialog::AddMenu、CMFCToolBarsCustomizeDialog::AddMenuCommands、または CMFCToolBarsCustomizeDialog::AddToolBar がコマンド ページにコマンドを追加すると、そのコマンドは CMFCToolBarButton クラス オブジェクト (または、追加されたAddMenuCommands
サブメニューを含むメニュー項目の CMFCToolBarMenuButton クラス オブジェクト) の形式になります。 フレームワークでは、これら 3 つのメソッドも呼び出して、コマンドを自動的に追加します。 代わりにコマンドを派生型で表す場合は、派生型のボタンを呼び出 ReplaceButton
して渡します。
例
次の例では、クラスでメソッドを使用する ReplaceButton
方法を CMFCToolBarsCustomizeDialog
示します。 このコード スニペットは、Visual Studio デモ サンプルの一部です。
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCToolBarComboBoxButton comboButtonConfig
pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);
CMFCToolBarsCustomizeDialog::SetUserCategory
[コマンド] ページのカテゴリの一覧のどのカテゴリがユーザー カテゴリであるかを指定します。 CMFCToolBarsCustomizeDialog::Create を呼び出す前に、この関数を呼び出す必要があります。
BOOL SetUserCategory(LPCTSTR lpszCategory);
パラメーター
lpszCategory
[in]カテゴリの名前。
戻り値
メソッドが成功した場合は TRUE。それ以外の場合は FAL Standard Edition。
解説
ユーザー カテゴリの設定は、現在、フレームワークでは使用されていません。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示