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
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.
knoflík
[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.
Návratová 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ů.
Návratová hodnota
TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.
Příklad
Následující příklad ukazuje, jak použít metodu AddToolBar
CMFCToolBarsCustomizeDialog
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.
Návratová 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();
Návratová 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.
Návratová 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.
Návratová 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;
Návratová 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, aby titulky tlačítek obsahovaly 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 .
Návratová 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.
bitmapa
[v] Odkaz na rastrový objekt, který se má upravit.
nBitsPerPixel
[v] Rozlišení rastrové barvy v bitech na pixel.
Návratová 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();
Návratová 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::PostNcDestroy
obnovení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.
Návratová 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.
Návratová 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.
knoflík
[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 ReplaceButton
CMFCToolBarsCustomizeDialog
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.
Návratová 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.