Share via


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();

継承階層

CObject

CCmdTarget

CWnd

CPropertySheet

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である必要があります。 このメソッドは、 lpszItemNameCMFCToolBarButton::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。

解説

ユーザー カテゴリの設定は、現在、フレームワークでは使用されていません。

関連項目

階層図
クラス
CPropertySheet クラス