Sdílet prostřednictvím


CMFCToolBarsCustomizeDialog – třída

Modeless tab dialog box ( CPropertySheet Class), který umožňuje uživateli přizpůsobit panely nástrojů, nabídky, klávesové zkratky, uživatelsky definované nástroje a vizuální styl v aplikaci. Uživatel k tomuto dialogovému okně obvykle přistupuje tak, že v nabídce Nástroje vybere možnost Přizpůsobit.

Dialogové okno Přizpůsobit má šest karet: Příkazy, Panely nástrojů, Nástroje, Klávesnice, Nabídka a Možnosti.

Syntaxe

class CMFCToolBarsCustomizeDialog : public CPropertySheet

Členové

Veřejné konstruktory

Název Popis
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog CMFCToolBarsCustomizeDialog Vytvoří objekt.
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog Destruktor.

Veřejné metody

Název Popis
CMFCToolBarsCustomizeDialog::AddButton Vloží tlačítko panelu nástrojů do seznamu příkazů na stránce Příkazy .
CMFCToolBarsCustomizeDialog::AddMenu Načte nabídku z prostředků a volá CMFCToolBarsCustomizeDialog::AddMenuCommands pro přidání této nabídky do seznamu příkazů na stránce Příkazy .
CMFCToolBarsCustomizeDialog::AddMenuCommands Načte nabídku z prostředků a volá CMFCToolBarsCustomizeDialog::AddMenuCommands pro přidání této nabídky do seznamu příkazů na stránce Příkazy .
CMFCToolBarsCustomizeDialog::AddToolBar Načte panel nástrojů z prostředků. Pak pro každý příkaz v nabídce volá CMFCToolBarsCustomizeDialog::AddButton metoda vložit tlačítko v seznamu příkazů na stránce Commands pod zadanou kategorií.
CMFCToolBarsCustomizeDialog::Create Zobrazí dialogové okno Vlastní nastavení.
CMFCToolBarsCustomizeDialog::EnableTools Vyhrazeno pro budoucí použití.
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars Povolí nebo zakáže vytváření nových panelů nástrojů pomocí dialogového okna Přizpůsobit .
CMFCToolBarsCustomizeDialog::FillAllCommandsList Naplní zadaný CListBox objekt příkazy v kategorii Všechny příkazy .
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox Naplní zadaný CComboBox objekt názvem každé kategorie příkazů v dialogovém okně Přizpůsobit .
CMFCToolBarsCustomizeDialog::FillCategoriesListBox Naplní zadaný CListBox objekt názvem každé kategorie příkazů v dialogovém okně Přizpůsobit .
CMFCToolBarsCustomizeDialog::GetCommandName Načte název přidružený k danému ID příkazu.
CMFCToolBarsCustomizeDialog::GetCountInCategory Načte počet položek v zadaném seznamu s daným textovým popiskem.
CMFCToolBarsCustomizeDialog::GetFlags Načte sadu příznaků, které ovlivňují chování dialogového okna.
CMFCToolBarsCustomizeDialog::GetThisClass Používá se architekturou k získání ukazatele na CRuntimeClass objektu, který je přidružen k tomuto typu třídy.
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage Spustí editor obrázků, aby uživatel mohl přizpůsobit tlačítko panelu nástrojů nebo ikonu položky nabídky.
CMFCToolBarsCustomizeDialog::OnInitDialog Přepíše inicializaci seznamu vlastností. (Přepsání CPropertySheet::OnInitDialog.)
CMFCToolBarsCustomizeDialog::P ostNcDestroy Volané architekturou po zničení okna. (Přepsání CPropertySheet::PostNcDestroy.)
CMFCToolBarsCustomizeDialog::RemoveButton Odebere tlačítko se zadaným ID příkazu ze zadané kategorie nebo ze všech kategorií.
CMFCToolBarsCustomizeDialog::RenameCategory Přejmenuje kategorii v seznamu kategorií na kartě Příkazy .
CMFCToolBarsCustomizeDialog::ReplaceButton Nahradí tlačítko v seznamu příkazů na kartě Příkazy novým objektem tlačítka panelu nástrojů.
CMFCToolBarsCustomizeDialog::SetUserCategory Přidá kategorii do seznamu kategorií, které se zobrazí na kartě Příkazy .

Chráněné metody

Název Popis
CMFCToolBarsCustomizeDialog::CheckToolsValidity Volá se rozhraním, aby bylo možné určit, jestli je seznam uživatelsky definovaných nástrojů platný.
CMFCToolBarsCustomizeDialog::OnAfterChangeTool Volá se rozhraním, když se změní vlastnosti uživatelem definovaného nástroje.
CMFCToolBarsCustomizeDialog::OnAssignKey Určuje, zda je možné k akci přiřadit zadanou klávesovou zkratku.
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool Určuje, zda lze nástroj definovaný uživatelem změnit.
CMFCToolBarsCustomizeDialog::OnInitToolsPage Volá se rozhraním, když uživatel zvolí kartu Nástroje , je požadována.

Poznámky

Chcete-li zobrazit dialogové okno Customize , vytvořte CMFCToolBarsCustomizeDialog objekt a zavolejte CMFCToolBarsCustomizeDialog::Create metoda.

I když je dialogové okno Přizpůsobit aktivní, aplikace funguje ve speciálním režimu, který omezuje uživatele na úlohy přizpůsobení.

Příklad

Následující příklad ukazuje, jak používat různé metody ve CMFCToolBarsCustomizeDialog třídě. Příklad ukazuje, jak nahradit tlačítko panelu nástrojů v seznamu příkazů na stránce Příkazy, povolit vytváření nových panelů nástrojů pomocí dialogového okna Přizpůsobit a zobrazit dialogové okno Přizpůsobení. Tento fragment kódu je součástí ukázky IE Demo.

pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
                        CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

Cwnd

CPropertySheet

CMFCToolBarsCustomizeDialog

Požadavky

Hlavička: afxToolBarsCustomizeDialog.h

CMFCToolBarsCustomizeDialog::AddButton

Vloží tlačítko panelu nástrojů do seznamu příkazů na stránce Příkazy .

void AddButton(
    UINT uiCategoryId,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

void AddButton(
    LPCTSTR lpszCategory,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

Parametry

uiCategoryId
[v] Určuje ID kategorie, do které se má tlačítko vložit.

Tlačítko
[v] Určuje tlačítko, které chcete vložit.

iInsertBefore
[v] Určuje nulový index tlačítka panelu nástrojů, před který se tlačítko vloží.

lpszCategory
[v] Určuje řetězec kategorie pro vložení tlačítka.

Poznámky

Metoda AddButton ignoruje tlačítka se standardními ID příkazů (například ID_FILE_MRU_FILE1), příkazy, které nejsou povoleny (viz CMFCToolBar::IsCommandPermitted) a fiktivní tlačítka.

Tato metoda vytvoří nový objekt stejného typu jako button (obvykle CMFCToolBarButton Class) pomocí třídy runtime tlačítka. Potom volá CMFCToolBarButton::CopyFrom ke zkopírování datových členů tlačítka a vloží kopii do zadané kategorie.

Po vložení nového tlačítka se zobrazí OnAddToCustomizePage oznámení.

Pokud iInsertBefore je -1, tlačítko se připojí k seznamu kategorií. Jinak se vloží před položku se zadaným indexem.

Příklad

Následující příklad ukazuje, jak použít AddButton metodu CMFCToolBarsCustomizeDialog třídy. Tento fragment kódu je součástí ukázky posuvníku.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */);

CSliderButton btnSlider(ID_SLIDER);
btnSlider.SetRange(0, 100);

pDlgCust->AddButton(_T("Edit"), btnSlider);

CMFCToolBarsCustomizeDialog::AddMenu

Načte nabídku z prostředků a volá CMFCToolBarsCustomizeDialog::AddMenuCommands pro přidání této nabídky do seznamu příkazů na stránce Příkazy .

BOOL AddMenu(UINT uiMenuResId);

Parametry

uiMenuResId
[v] Určuje ID prostředku nabídky, která se má načíst.

Vrácená hodnota

TRUE, pokud byla nabídka úspěšně přidána; jinak NEPRAVDA.

Poznámky

V volání AddMenuCommands, bPopup je FALSE. V důsledku toho tato metoda nepřidá položky nabídky, které obsahují podnabídky do seznamu příkazů. Tato metoda přidá položky nabídky v podnabídce do seznamu příkazů.

CMFCToolBarsCustomizeDialog::AddMenuCommands

Přidá položky do seznamu příkazů na stránce Příkazy , aby představovaly všechny položky v zadané nabídce.

void AddMenuCommands(
    const CMenu* pMenu,
    BOOL bPopup,
    LPCTSTR lpszCategory=NULL,
    LPCTSTR lpszMenuPath=NULL);

Parametry

pMenu
[v] Ukazatel na objekt CMenu, který chcete přidat.

bPopup
[v] Určuje, zda se mají položky místní nabídky vložit do seznamu příkazů.

lpszCategory
[v] Název kategorie pro vložení nabídky.

lpszMenuPath
[v] Předpona přidaná do názvu, když se příkaz zobrazí v seznamu Všechny kategorie .

Poznámky

Metoda AddMenuCommands smyčky přes všechny položky nabídky pMenu. Pro každou položku nabídky, která neobsahuje podnabídku, tato metoda vytvoří CMFCToolBarButton Class objekt a volá CMFCToolBarsCustomizeDialog::AddButton přidat položku nabídky jako tlačítko panelu nástrojů do seznamu příkazů na stránce Příkazy. Oddělovače jsou v tomto procesu ignorovány.

Pokud bPopup je TRUE, pro každou položku nabídky, která obsahuje podnabídku tato metoda vytvoří CMFCToolBarMenuButton Class objekt a vloží jej do seznamu příkazů voláním AddButton. V opačném případě se položky nabídky, které obsahují podnabídky, nezobrazí v seznamu příkazů. V obou případech, když AddMenuCommands dojde k položce nabídky s podnabídkou, která volá sám sebe rekurzivně, předání ukazatele na podnabídku jako parametr pMenu a připojení popisku podnabídky lpszMenuPath.

CMFCToolBarsCustomizeDialog::AddToolBar

Načte panel nástrojů z prostředků. Pak pro každý příkaz v nabídce volá CMFCToolBarsCustomizeDialog::AddButton metoda vložit tlačítko v seznamu příkazů na stránce Commands pod zadanou kategorií.

BOOL AddToolBar(
    UINT uiCategoryId,
    UINT uiToolbarResId);

BOOL AddToolBar(
    LPCTSTR lpszCategory,
    UINT uiToolbarResId);

Parametry

uiCategoryId
[v] Určuje ID prostředku kategorie, do které chcete přidat panel nástrojů.

uiToolbarResId
[v] Určuje ID prostředku panelu nástrojů, jehož příkazy se vloží do seznamu příkazů.

lpszCategory
[v] Určuje název kategorie, do které chcete přidat panel nástrojů.

Vrácená hodnota

TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.

Příklad

Následující příklad ukazuje, jak použít metodu AddToolBarCMFCToolBarsCustomizeDialog ve třídě. Tento fragment kódu je součástí ukázky wordové oblasti.

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

Poznámky

Ovládací prvek, který se používá k reprezentaci každého příkazu, je CMFCToolBarButton Class objektu. Po přidání panelu nástrojů můžete tlačítko nahradit ovládacím prvku odvozeného typu voláním CMFCToolBarsCustomizeDialog::ReplaceButton.

CMFCToolBarsCustomizeDialog::CheckToolsValidity

Ověřuje platnost seznamu uživatelských nástrojů.

virtual BOOL CheckToolsValidity(const CObList& lstTools);

Parametry

lstTools
[v] Seznam nástrojů definovaných uživatelem, které chcete zkontrolovat.

Vrácená hodnota

Vrátí hodnotu TRUE, pokud je seznam uživatelsky definovaných nástrojů platný; jinak NEPRAVDA. Výchozí implementace vždy vrátí hodnotu TRUE.

Poznámky

Architektura volá tuto metodu k ověření platnosti objektů, které představují uživatelem definované nástroje vrácené CMFCToolBarsCustomizeDialog::CheckToolsValidity.

Přepište metodu CheckToolsValidity ve třídě odvozené od CMFCToolBarsCustomizeDialog , pokud chcete ověřit uživatelské nástroje před zavření dialogového okna uživatelem. Pokud tato metoda vrátí HODNOTU FALSE, když uživatel klikne buď na tlačítko Zavřít v pravém horním rohu dialogového okna, nebo tlačítko s popiskem Zavřít v pravém dolním rohu dialogového okna, zobrazí dialogové okno místo zavření kartu Nástroje . Pokud tato metoda vrátí hodnotu NEPRAVDA, když uživatel klikne na kartu a přejde mimo kartu Nástroje , navigace nedojde. Měli byste zobrazit příslušné pole zprávy, které uživatele informuje o problému, který způsoboval selhání ověření.

CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog

CMFCToolBarsCustomizeDialog Vytvoří objekt.

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

Parametry

pWndParentFrame
[v] Ukazatel na nadřazený rámec. Tento parametr nesmí být NULL.

bAutoSetFromMenus
[v] Logická hodnota, která určuje, zda se mají příkazy nabídky přidat ze všech nabídek do seznamu příkazů na stránce Příkazy . Pokud je tento parametr TRUE, přidají se příkazy nabídky. Jinak se příkazy nabídky nepřidají.

uiFlags
[v] Kombinace příznaků, které ovlivňují chování dialogového okna. Tento parametr může být jedna nebo více následujících hodnot:

  • 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
[v] Ukazatel na seznam CRuntimeClass objektů, které určují další vlastní stránky.

Poznámky

PlistCustomPages parametr odkazuje na seznam CRuntimeClass objektů, které určují další vlastní stránky. Konstruktor přidá do dialogového okna další stránky pomocí CRuntimeClass::CreateObject metoda. Příklad přidání dalších stránek do dialogového okna Přizpůsobit najdete v ukázce CustomPages.

Další informace o hodnotách, které můžete předat uiFlags parametru, naleznete v tématu CMFCToolBarsCustomizeDialog::GetFlags.

Příklad

Následující příklad ukazuje, jak vytvořit objekt CMFCToolBarsCustomizeDialog třídy. Tento fragment kódu je součástí ukázky vlastních stránek.

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

Zobrazí dialogové okno Vlastní nastavení.

virtual BOOL Create();

Vrácená hodnota

TRUE, pokud je seznam vlastností přizpůsobení úspěšně vytvořen; jinak NEPRAVDA.

Poznámky

Volejte metodu Create až po úplné inicializaci třídy.

CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars

Povolí nebo zakáže vytváření nových panelů nástrojů pomocí dialogového okna Přizpůsobit .

void EnableUserDefinedToolbars(BOOL bEnable=TRUE);

Parametry

bEnable
[v] TRUE pro povolení uživatelsky definovaných panelů nástrojů; NEPRAVDA pro zakázání panelů nástrojů.

Poznámky

Pokud má bEnable hodnotu TRUE, zobrazí se na stránce Panely nástrojů tlačítka Nová, Přejmenovat a Odstranit.

Ve výchozím nastavení nebo pokud bEnable je NEPRAVDA, tato tlačítka se nezobrazí a uživatel nemůže definovat nové panely nástrojů.

CMFCToolBarsCustomizeDialog::FillAllCommandsList

Naplní zadaný CListBox objekt příkazy v kategorii Všechny příkazy .

virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;

Parametry

wndListOfCommands
[ven] Odkaz na objekt, CListBox který se má naplnit.

Poznámky

Kategorie Všechny příkazy obsahuje příkazy všech kategorií. CMFCToolBarsCustomizeDialog::AddButton metoda přidá příkaz, který je přidružený k poskytnutému tlačítku do kategorie All Commands za vás.

Tato metoda vymaže obsah poskytnutého CListBox objektu před naplněním příkazy v kategorii Všechny příkazy .

Třída CMFCMousePropertyPage používá tuto metodu k naplnění seznamu událostí poklikáním.

CMFCToolBarsCustomizeDialog::FillCategoriesComboBox

Naplní zadaný CComboBox objekt názvem každé kategorie příkazů v dialogovém okně Přizpůsobit .

void FillCategoriesComboBox(
    CComboBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parametry

wndCategory
[ven] Odkaz na objekt, CComboBox který se má naplnit.

bAddEmpty
[v] Logická hodnota, která určuje, zda se mají přidat kategorie do pole se seznamem, které nemají příkazy. Pokud má tento parametr hodnotu TRUE, do pole se seznamem se přidají prázdné kategorie. V opačném případě se nepřidají prázdné kategorie.

Poznámky

Tato metoda je jako CMFCToolBarsCustomizeDialog::FillCategoriesListBox metoda s tím rozdílem, že tato metoda funguje s objektem CComboBox .

Tato metoda před naplněním nevymazá obsah objektu CComboBox . Zaručuje, že kategorie Všechny příkazy je konečnou položkou v poli se seznamem.

Pomocí metody CMFCToolBarsCustomizeDialog::AddButton můžete přidat nové kategorie příkazů. Název existující kategorie můžete změnit pomocí metody CMFCToolBarsCustomizeDialog::RenameCategory .

CMFCKeyMapDialog Třídy CMFCToolBarsKeyboardPropertyPage používají tuto metodu k kategorizaci mapování klávesnice.

CMFCToolBarsCustomizeDialog::FillCategoriesListBox

Naplní zadaný CListBox objekt názvem každé kategorie příkazů v dialogovém okně Přizpůsobit .

void FillCategoriesListBox(
    CListBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parametry

wndCategory
[ven] Odkaz na objekt, CListBox který se má naplnit.

bAddEmpty
[v] Logická hodnota, která určuje, zda se mají přidat kategorie do seznamu, které nemají příkazy. Pokud je tento parametr TRUE, do seznamu se přidají prázdné kategorie. V opačném případě se nepřidají prázdné kategorie.

Poznámky

Tato metoda je jako CMFCToolBarsCustomizeDialog::FillCategoriesComboBox metoda s tím rozdílem, že tato metoda funguje s objektem CListBox .

Tato metoda před naplněním nevymazá obsah objektu CListBox . Zaručuje, že kategorie Všechny příkazy je konečnou položkou v seznamu.

Pomocí metody CMFCToolBarsCustomizeDialog::AddButton můžete přidat nové kategorie příkazů. Název existující kategorie můžete změnit pomocí metody CMFCToolBarsCustomizeDialog::RenameCategory .

Třída CMFCToolBarsCommandsPropertyPage používá tuto metodu k zobrazení seznamu příkazů, které jsou přidruženy k jednotlivým kategoriím příkazů.

CMFCToolBarsCustomizeDialog::GetCommandName

Načte název přidružený k danému ID příkazu.

LPCTSTR GetCommandName(UINT uiCmd) const;

Parametry

uiCmd
[v] ID příkazu, který chcete načíst.

Vrácená hodnota

Název přidružený k danému ID příkazu nebo null, pokud příkaz neexistuje.

CMFCToolBarsCustomizeDialog::GetCountInCategory

Načte počet položek v zadaném seznamu s daným textovým popiskem.

int GetCountInCategory(
    LPCTSTR lpszItemName,
    const CObList& lstCommands) const;

Parametry

lpszItemName
[v] Textový popisek, který se má shodovat.

Příkazy lstCommands
[v] Odkaz na seznam, který obsahuje CMFCToolBarButton objekty.

Vrácená hodnota

Počet položek v zadaném seznamu, jejichž textový popisek se rovná lpszItemName.

Poznámky

Každý prvek v zadaném seznamu objektů musí být typu CMFCToolBarButton. Tato metoda porovnává lpszItemName s CMFCToolBarButton::m_strText datový člen.

CMFCToolBarsCustomizeDialog::GetFlags

Načte sadu příznaků, které ovlivňují chování dialogového okna.

UINT GetFlags() const;

Vrácená hodnota

Sada příznaků, které ovlivňují chování dialogového okna.

Poznámky

Tato metoda načte hodnotu parametru uiFlags , který je předán konstruktoru. Návratová hodnota může být jedna nebo více následujících hodnot:

Název Popis
AFX_CUSTOMIZE_MENU_SHADOWS Umožňuje uživateli určit vzhled stínu nabídky.
AFX_CUSTOMIZE_TEXT_LABELS Umožňuje uživateli určit, jestli se popisky textu zobrazují pod obrázky tlačítek panelu nástrojů.
AFX_CUSTOMIZE_MENU_ANIMATIONS Umožňuje uživateli zadat styl animace nabídky.
AFX_CUSTOMIZE_NOHELP Odebere tlačítko nápovědy z dialogového okna přizpůsobení.
AFX_CUSTOMIZE_CONTEXT_HELP Povolí vizuální styl WS_EX_CONTEXTHELP.
AFX_CUSTOMIZE_NOTOOLS Odebere stránku Nástroje z dialogového okna přizpůsobení. Tento příznak je platný, pokud vaše aplikace používá CUserToolsManager třídu.
AFX_CUSTOMIZE_MENUAMPERS Umožňuje popis tlačítek obsahovat znak ampersand (&).
AFX_CUSTOMIZE_NO_LARGE_ICONS Odebere možnost Velké ikony z dialogového okna přizpůsobení.

Další informace o vizuálním stylu WS_EX_CONTEXTHELP naleznete v tématu Rozšířené styly oken.

CMFCToolBarsCustomizeDialog::OnAfterChangeTool

Reaguje na změnu v uživatelském nástroji hned po jejím výskytu.

virtual void OnAfterChangeTool(CUserTool* pSelTool);

Parametry

pSelTool
[in, out] Ukazatel na objekt nástroje uživatele, který byl změněn.

Poznámky

Tato metoda je volána rozhraním, když uživatel změní vlastnosti uživatelem definovaného nástroje. Výchozí implementace nic nedělá. Přepsat tuto metodu ve třídě odvozené z CMFCToolBarsCustomizeDialog provádění zpracování po změně na uživatelský nástroj dojde.

CMFCToolBarsCustomizeDialog::OnAssignKey

Ověří klávesové zkratky jako uživatel, který je definuje.

virtual BOOL OnAssignKey(ACCEL* pAccel);

Parametry

pAccel
[in, out] Ukazatel na navrhované přiřazení klávesnice vyjádřené jako struktura ACCEL .

Vrácená hodnota

TRUE, pokud je možné klíč přiřadit nebo NEPRAVDA, pokud klíč nelze přiřadit. Výchozí implementace vždy vrátí hodnotu TRUE.

Poznámky

Tuto metodu v odvozené třídě přepište tak, aby prováděla dodatečné zpracování, když uživatel přiřadí novou klávesovou zkratku nebo ověří klávesové zkratky, jak je uživatel definuje. Pokud chcete zabránit přiřazení zástupce, vraťte hodnotu FALSE. Měli byste také zobrazit okno se zprávou nebo jinak informovat uživatele o důvodu zamítnutí klávesové zkratky.

CMFCToolBarsCustomizeDialog::OnBeforeChangeTool

Provádí vlastní zpracování, když se změní uživatelský nástroj, když se uživatel chystá použít změnu.

virtual void OnBeforeChangeTool(CUserTool* pSelTool);

Parametry

pSelTool
[in, out] Ukazatel na objekt uživatelského nástroje, který se chystá nahradit.

Poznámky

Tato metoda je volána architekturou, když se vlastnosti uživatelem definovaného nástroje mají změnit. Výchozí implementace nic nedělá. Přepište metodu OnBeforeChangeTool ve třídě odvozené od CMFCToolBarsCustomizeDialog , pokud chcete provést zpracování před změnou uživatelského nástroje, například uvolnění prostředků, které pSelTool používá.

CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage

Spustí editor obrázků, aby uživatel mohl přizpůsobit tlačítko panelu nástrojů nebo ikonu položky nabídky.

virtual BOOL OnEditToolbarMenuImage(
    CWnd* pWndParent,
    CBitmap& bitmap,
    int nBitsPerPixel);

Parametry

pWndParent
[v] Ukazatel na nadřazené okno.

Bitmapové
[v] Odkaz na rastrový objekt, který se má upravit.

nBitsPerPixel
[v] Rozlišení rastrové barvy v bitech na pixel.

Vrácená hodnota

TRUE, pokud je změna potvrzena; jinak NEPRAVDA. Výchozí implementace zobrazí dialogové okno a vrátí hodnotu TRUE, pokud uživatel klikne na TLAČÍTKO OK nebo NEPRAVDA, pokud uživatel klikne na tlačítko Storno nebo Zavřít .

Poznámky

Tato metoda je volána architekturou, když uživatel spustí editor obrázků. Výchozí implementace zobrazí CMFCImageEditorDialog Třída dialogové okno. Přepsání OnEditToolbarMenuImage v odvozené třídě pro použití vlastního editoru obrázků.

CMFCToolBarsCustomizeDialog::OnInitDialog

Přepíše inicializaci seznamu vlastností.

virtual BOOL OnInitDialog();

Vrácená hodnota

Výsledek volání CPropertySheet::OnInitDialog metoda.

Poznámky

Tato metoda rozšiřuje implementaci základní třídy CPropertySheet ::OnInitDialog zobrazením tlačítka Zavřít , tím, že se ujistěte, že dialogové okno odpovídá aktuální velikosti obrazovky a přesunutím tlačítka Nápověda do levého dolního rohu dialogového okna.

CMFCToolBarsCustomizeDialog::OnInitToolsPage

Zpracovává oznámení z architektury, že stránka Nástroje se chystá inicializovat.

virtual void OnInitToolsPage();

Poznámky

Výchozí implementace nic nedělá. Přepište tuto metodu v odvozené třídě pro zpracování tohoto oznámení.

CMFCToolBarsCustomizeDialog::P ostNcDestroy

Volané architekturou po zničení okna.

virtual void PostNcDestroy();

Poznámky

Tato metoda rozšiřuje implementaci základní třídy , CPropertySheet::PostNcDestroyobnovením aplikace do předchozího režimu.

CMFCToolBarsCustomizeDialog::Create metoda umístí aplikaci do speciálního režimu, který omezuje uživatele na úlohy přizpůsobení.

CMFCToolBarsCustomizeDialog::RemoveButton

Odebere tlačítko se zadaným ID příkazu ze zadané kategorie nebo ze všech kategorií.

int RemoveButton(
    UINT uiCategoryId,
    UINT uiCmdId);

int RemoveButton(
    LPCTSTR lpszCategory,
    UINT uiCmdId);

Parametry

uiCategoryId
[v] Určuje ID kategorie, ze které se má tlačítko odebrat.

uiCmdId
[v] Určuje ID příkazu tlačítka.

lpszCategory
[v] Určuje název kategorie, ze které chcete tlačítko odebrat.

Vrácená hodnota

Index odebraného tlačítka založený na nule nebo -1, pokud zadané ID příkazu nebylo nalezeno v zadané kategorii. Pokud je uiCategoryId -1, návratová hodnota je 0.

Poznámky

Chcete-li odebrat tlačítko ze všech kategorií, zavolejte první přetížení této metody a nastavte uiCategoryId na -1.

CMFCToolBarsCustomizeDialog::RenameCategory

Přejmenuje kategorii v seznamu kategorií na stránce Příkazy .

BOOL RenameCategory(
    LPCTSTR lpszCategoryOld,
    LPCTSTR lpszCategoryNew);

Parametry

lpszCategoryOld
[v] Název kategorie, který chcete změnit.

lpszCategoryNew
[v] Název nové kategorie.

Vrácená hodnota

TRUE, pokud byla metoda úspěšná; jinak NEPRAVDA.

Poznámky

Název kategorie musí být jedinečný.

CMFCToolBarsCustomizeDialog::ReplaceButton

Nahradí tlačítko panelu nástrojů v seznamu příkazů na stránce Příkazy .

void ReplaceButton(
    UINT uiCmd,
    const CMFCToolBarButton& button);

Parametry

uiCmd
[v] Určuje příkaz tlačítka, který se má nahradit.

Tlačítko
[v] const Odkaz na objekt tlačítka panelu nástrojů, který nahrazuje staré tlačítko.

Poznámky

Když CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands nebo CMFCToolBarsCustomizeDialog::AddToolBar přidá příkaz na stránku Příkazy, tento příkaz je ve formě OBJEKTU CMFCToolBarButton Class (nebo CMFCToolBarMenuButton – objekt třídy pro položku nabídky, která obsahuje podnabídku přidanou AddMenuCommands). Architektura také volá tyto tři metody pro automatické přidávání příkazů. Pokud chcete, aby byl příkaz reprezentován odvozeným typem, zavolejte ReplaceButton a předejte tlačítko odvozeného typu.

Příklad

Následující příklad ukazuje, jak použít metodu ReplaceButtonCMFCToolBarsCustomizeDialog ve třídě. Tento fragment kódu je součástí ukázky sady Visual Studio Demo.

// CMFCToolBarsCustomizeDialog* pDlgCust
     // CMFCToolBarComboBoxButton comboButtonConfig
     pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);

CMFCToolBarsCustomizeDialog::SetUserCategory

Určuje, která kategorie v seznamu kategorií na stránce Příkazy je kategorie uživatele. Tuto funkci musíte volat před voláním CMFCToolBarsCustomizeDialog::Create.

BOOL SetUserCategory(LPCTSTR lpszCategory);

Parametry

lpszCategory
[v] Název kategorie.

Vrácená hodnota

TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.

Poznámky

Nastavení kategorie uživatele se v současné době nepoužívá v rámci.

Viz také

Graf hierarchie
Třídy
CPropertySheet – třída