CMFCToolBarsCustomizeDialog, classe
Boîte de dialogue Onglet sans mode ( classe CPropertySheet) qui permet à l’utilisateur de personnaliser les barres d’outils, les menus, les raccourcis clavier, les outils définis par l’utilisateur et le style visuel dans une application. En général, l'utilisateur accède à cette boîte de dialogue en sélectionnant Personnaliser dans le menu Outils .
La boîte de dialogue Personnaliser comporte six onglets : commandes, barres d’outils, outils, clavier, menu et options.
Syntaxe
class CMFCToolBarsCustomizeDialog : public CPropertySheet
Membres
Constructeurs publics
Nom | Description |
---|---|
CMFCToolBarsCustomizeDialog ::CMFCToolBarsCustomizeDialog | Construit un objet CMFCToolBarsCustomizeDialog . |
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog |
Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CMFCToolBarsCustomizeDialog ::AddButton | Insère un bouton de barre d’outils dans la liste des commandes de la page Commandes |
CMFCToolBarsCustomizeDialog ::AddMenu | Charge un menu à partir des ressources et appelle CMFCToolBarsCustomizeDialog ::AddMenuCommands pour ajouter ce menu à la liste des commandes de la page Commandes . |
CMFCToolBarsCustomizeDialog ::AddMenuCommands | Charge un menu à partir des ressources et appelle CMFCToolBarsCustomizeDialog ::AddMenuCommands pour ajouter ce menu à la liste des commandes de la page Commandes . |
CMFCToolBarsCustomizeDialog ::AddToolBar | Charge une barre d’outils à partir des ressources. Ensuite, pour chaque commande du menu appelle la méthode CMFCToolBarsCustomizeDialog ::AddButton pour insérer un bouton dans la liste des commandes de la page Commandes sous la catégorie spécifiée. |
CMFCToolBarsCustomizeDialog ::Create | Affiche la boîte de dialogue Personnalisation . |
CMFCToolBarsCustomizeDialog::EnableTools |
Réservé pour un usage futur. |
CMFCToolBarsCustomizeDialog ::EnableUserDefinedToolbars | Active ou désactive la création de nouvelles barres d’outils à l’aide de la boîte de dialogue Personnaliser . |
CMFCToolBarsCustomizeDialog ::FillAllCommandsList | Remplit l’objet fourni CListBox avec les commandes de la catégorie Toutes les commandes . |
CMFCToolBarsCustomizeDialog ::FillCategoriesComboBox | Remplit l’objet fourni CComboBox avec le nom de chaque catégorie de commandes dans la boîte de dialogue Personnaliser . |
CMFCToolBarsCustomizeDialog ::FillCategoriesListBox | Remplit l’objet fourni CListBox avec le nom de chaque catégorie de commandes dans la boîte de dialogue Personnaliser . |
CMFCToolBarsCustomizeDialog ::GetCommandName | Récupère le nom associé à l’ID de commande donné. |
CMFCToolBarsCustomizeDialog ::GetCountInCategory | Récupère le nombre d’éléments de la liste fournie qui ont une étiquette de texte donnée. |
CMFCToolBarsCustomizeDialog ::GetFlags | Récupère l’ensemble d’indicateurs qui affectent le comportement de la boîte de dialogue. |
CMFCToolBarsCustomizeDialog::GetThisClass |
Utilisé par l’infrastructure pour obtenir un pointeur vers l’objet CRuntimeClass associé à ce type de classe. |
CMFCToolBarsCustomizeDialog ::OnEditToolbarMenuImage | Démarre un éditeur d’images afin qu’un utilisateur puisse personnaliser un bouton de barre d’outils ou une icône d’élément de menu. |
CMFCToolBarsCustomizeDialog ::OnInitDialog | Remplace l’augmentation de l’initialisation de la feuille de propriétés. (Remplacements CPropertySheet ::OnInitDialog.) |
CMFCToolBarsCustomizeDialog ::P ostNcDestroy | Appelé par l’infrastructure après la destruction de la fenêtre. (Substitue CPropertySheet::PostNcDestroy .) |
CMFCToolBarsCustomizeDialog ::RemoveButton | Supprime le bouton avec l’ID de commande spécifié de la catégorie spécifiée ou de toutes les catégories. |
CMFCToolBarsCustomizeDialog ::RenameCategory | Renomme une catégorie dans la zone de liste des catégories sous l’onglet Commandes . |
CMFCToolBarsCustomizeDialog ::ReplaceButton | Remplace un bouton dans la liste des commandes de l’onglet Commandes par un nouvel objet de bouton de barre d’outils. |
CMFCToolBarsCustomizeDialog ::SetUserCategory | Ajoute une catégorie à la liste des catégories qui seront affichées sous l’onglet Commandes . |
Méthodes protégées
Nom | Description |
---|---|
CMFCToolBarsCustomizeDialog ::CheckToolsValidity | Appelé par l’infrastructure pour déterminer si la liste des outils définis par l’utilisateur est valide. |
CMFCToolBarsCustomizeDialog ::OnAfterChangeTool | Appelé par l’infrastructure lorsque les propriétés d’un outil défini par l’utilisateur changent. |
CMFCToolBarsCustomizeDialog ::OnAssignKey | Détermine si un raccourci clavier spécifié peut être affecté à une action. |
CMFCToolBarsCustomizeDialog ::OnBeforeChangeTool | Détermine si un outil défini par l’utilisateur peut être modifié. |
CMFCToolBarsCustomizeDialog ::OnInitToolsPage | Appelé par l’infrastructure lorsque l’utilisateur choisit l’onglet Outils est demandé. |
Notes
Pour afficher la boîte de dialogue Personnaliser , créez un CMFCToolBarsCustomizeDialog
objet et appelez la méthode CMFCToolBarsCustomizeDialog ::Create .
Pendant que la boîte de dialogue Personnaliser est active, l’application fonctionne en mode spécial qui limite l’utilisateur aux tâches de personnalisation.
Exemple
L’exemple suivant montre comment utiliser différentes méthodes de la classe CMFCToolBarsCustomizeDialog
. L’exemple montre comment remplacer un bouton de barre d’outils dans la zone de liste des commandes de la page Commandes , activer la création de nouvelles barres d’outils à l’aide de la boîte de dialogue Personnaliser et afficher la boîte de dialogue Personnalisation . Cet extrait de code fait partie de l’exemple de démonstration IE.
pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();
Hiérarchie d'héritage
CMFCToolBarsCustomizeDialog
Spécifications
En-tête : afxToolBarsCustomizeDialog.h
CMFCToolBarsCustomizeDialog ::AddButton
Insère un bouton de barre d’outils dans la liste des commandes de la page Commandes .
void AddButton(
UINT uiCategoryId,
const CMFCToolBarButton& button,
int iInsertBefore=-1);
void AddButton(
LPCTSTR lpszCategory,
const CMFCToolBarButton& button,
int iInsertBefore=-1);
Paramètres
uiCategoryId
[in] Spécifie l’ID de catégorie dans lequel insérer le bouton.
bouton
[in] Spécifie le bouton à insérer.
iInsertBefore
[in] Spécifie l’index de base zéro d’un bouton de barre d’outils avant lequel le bouton est inséré.
lpszCategory
[in] Spécifie la chaîne de catégorie à insérer le bouton.
Notes
La AddButton
méthode ignore les boutons qui ont les ID de commande standard (tels que ID_FILE_MRU_FILE1), les commandes qui ne sont pas autorisées (voir CMFCToolBar ::IsCommandPermitted) et les boutons factices.
Cette méthode crée un objet du même type que button
(généralement une classe CMFCToolBarButton) à l’aide de la classe runtime du bouton. Il appelle ensuite CMFCToolBarButton ::CopyFrom pour copier les membres de données du bouton et insère la copie dans la catégorie spécifiée.
Lorsque le nouveau bouton est inséré, il reçoit la OnAddToCustomizePage
notification.
Si iInsertBefore
la valeur est -1, le bouton est ajouté à la liste des catégories ; sinon, il est inséré avant l’élément avec l’index spécifié.
Exemple
L’exemple suivant montre comment utiliser la AddButton
méthode de la CMFCToolBarsCustomizeDialog
classe. Cet extrait de code fait partie de l’exemple 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
Charge un menu à partir des ressources et appelle CMFCToolBarsCustomizeDialog ::AddMenuCommands pour ajouter ce menu à la liste des commandes de la page Commandes .
BOOL AddMenu(UINT uiMenuResId);
Paramètres
uiMenuResId
[in] Spécifie l’ID de ressource d’un menu à charger.
Valeur de retour
TRUE si un menu a été ajouté avec succès ; sinon FALSE.
Notes
Dans l’appel à AddMenuCommands
, bPopup a la valeur FALSE. Par conséquent, cette méthode n’ajoute pas d’éléments de menu qui contiennent des sous-menus à la liste des commandes. Cette méthode ajoute les éléments de menu dans le sous-menu à la liste des commandes.
CMFCToolBarsCustomizeDialog ::AddMenuCommands
Ajoute des éléments à la liste des commandes de la page Commandes pour représenter tous les éléments du menu spécifié.
void AddMenuCommands(
const CMenu* pMenu,
BOOL bPopup,
LPCTSTR lpszCategory=NULL,
LPCTSTR lpszMenuPath=NULL);
Paramètres
pMenu
[in] Pointeur vers l’objet CMenu à ajouter.
bPopup
[in] Spécifie s’il faut insérer les éléments de menu contextuel dans la liste des commandes.
lpszCategory
[in] Nom de la catégorie à insérer dans le menu.
lpszMenuPath
[in] Préfixe ajouté au nom lorsque la commande est affichée dans la liste Toutes les catégories .
Notes
La AddMenuCommands
méthode effectue une boucle sur tous les éléments de menu de pMenu. Pour chaque élément de menu qui ne contient pas de sous-menu, cette méthode crée un objet CMFCToolBarButton Class et appelle la méthode CMFCToolBarsCustomizeDialog ::AddButton pour ajouter l’élément de menu en tant que bouton de barre d’outils à la liste des commandes de la page Commandes . Les séparateurs sont ignorés dans ce processus.
Si bPopup a la valeur TRUE, pour chaque élément de menu qui contient un sous-menu, cette méthode crée un objet CMFCToolBarMenuButton Class et l’insère dans la liste des commandes en appelant AddButton
. Sinon, les éléments de menu qui contiennent des sous-menus ne sont pas affichés dans la liste des commandes. Dans les deux cas, lorsque vous AddMenuCommands
rencontrez un élément de menu avec un sous-menu, il s’appelle de manière récursive, en passant un pointeur vers le sous-menu en tant que paramètre pMenu et en ajoutant l’étiquette du sous-menu à lpszMenuPath.
CMFCToolBarsCustomizeDialog ::AddToolBar
Charge une barre d’outils à partir des ressources. Ensuite, pour chaque commande du menu appelle la méthode CMFCToolBarsCustomizeDialog ::AddButton pour insérer un bouton dans la liste des commandes de la page Commandes sous la catégorie spécifiée.
BOOL AddToolBar(
UINT uiCategoryId,
UINT uiToolbarResId);
BOOL AddToolBar(
LPCTSTR lpszCategory,
UINT uiToolbarResId);
Paramètres
uiCategoryId
[in] Spécifie l’ID de ressource de la catégorie à laquelle ajouter la barre d’outils.
uiToolbarResId
[in] Spécifie l’ID de ressource d’une barre d’outils dont les commandes sont insérées dans la liste des commandes.
lpszCategory
[in] Spécifie le nom de la catégorie à laquelle ajouter la barre d’outils.
Valeur de retour
TRUE si la méthode réussit ; sinon FALSE.
Exemple
L’exemple suivant montre comment utiliser la AddToolBar
méthode dans la CMFCToolBarsCustomizeDialog
classe. Cet extrait de code fait partie de l’ exemple Word Pad.
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);
Notes
Le contrôle utilisé pour représenter chaque commande est un objet CMFCToolBarButton Class . Après avoir ajouté la barre d’outils, vous pouvez remplacer le bouton par un contrôle d’un type dérivé en appelant CMFCToolBarsCustomizeDialog ::ReplaceButton.
CMFCToolBarsCustomizeDialog ::CheckToolsValidity
Vérifie la validité de la liste des outils utilisateur.
virtual BOOL CheckToolsValidity(const CObList& lstTools);
Paramètres
lstTools
[in] Liste des outils définis par l’utilisateur à vérifier.
Valeur de retour
Retourne TRUE si la liste des outils définis par l’utilisateur est valide ; sinon FALSE. L’implémentation par défaut retourne toujours TRUE.
Notes
L’infrastructure appelle cette méthode pour vérifier la validité des objets qui représentent les outils définis par l’utilisateur retournés par CMFCToolBarsCustomizeDialog ::CheckToolsValidity.
Remplacez la CheckToolsValidity
méthode dans une classe dérivée de CMFCToolBarsCustomizeDialog
si vous souhaitez valider les outils utilisateur avant que l’utilisateur ferme la boîte de dialogue. Si cette méthode retourne FALSE lorsque l’utilisateur clique sur le bouton Fermer dans le coin supérieur droit de la boîte de dialogue ou sur le bouton intitulé Fermer dans le coin inférieur droit de la boîte de dialogue, la boîte de dialogue affiche l’onglet Outils au lieu de fermer. Si cette méthode retourne FALSE lorsque l’utilisateur clique sur un onglet pour naviguer loin de l’onglet Outils , la navigation ne se produit pas. Vous devez afficher une boîte de message appropriée pour informer l’utilisateur du problème qui a provoqué l’échec de la validation.
CMFCToolBarsCustomizeDialog ::CMFCToolBarsCustomizeDialog
Construit un objet 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);
Paramètres
pWndParentFrame
[in] Pointeur vers le cadre parent. Ce paramètre ne doit pas être NULL.
bAutoSetFromMenus
[in] Valeur booléenne qui spécifie s’il faut ajouter les commandes de menu de tous les menus à la liste des commandes de la page Commandes . Si ce paramètre a la valeur TRUE, les commandes de menu sont ajoutées. Sinon, les commandes de menu ne sont pas ajoutées.
uiFlags
[in] Combinaison d’indicateurs qui affectent le comportement de la boîte de dialogue. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes :
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] Pointeur vers une liste d’objets CRuntimeClass
qui spécifient des pages personnalisées supplémentaires.
Notes
Le paramètre plistCustomPages fait référence à la liste des CRuntimeClass
objets qui spécifient des pages personnalisées supplémentaires. Le constructeur ajoute d’autres pages à la boîte de dialogue à l’aide de la méthode CRuntimeClass ::CreateObject . Consultez l’exemple CustomPages pour obtenir un exemple qui ajoute d’autres pages à la boîte de dialogue Personnaliser .
Pour plus d’informations sur les valeurs que vous pouvez transmettre au paramètre uiFlags , consultez CMFCToolBarsCustomizeDialog ::GetFlags.
Exemple
L’exemple suivant montre comment construire un objet de la CMFCToolBarsCustomizeDialog
classe. Cet extrait de code fait partie de l’exemple Pages personnalisées.
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
Affiche la boîte de dialogue Personnalisation .
virtual BOOL Create();
Valeur de retour
TRUE si la feuille de propriétés de personnalisation est créée avec succès ; sinon FALSE.
Notes
Appelez la Create
méthode uniquement après avoir entièrement initialisé la classe.
CMFCToolBarsCustomizeDialog ::EnableUserDefinedToolbars
Active ou désactive la création de nouvelles barres d’outils à l’aide de la boîte de dialogue Personnaliser .
void EnableUserDefinedToolbars(BOOL bEnable=TRUE);
Paramètres
bEnable
[in] TRUE pour activer les barres d’outils définies par l’utilisateur ; FALSE pour désactiver les barres d’outils.
Notes
Si bEnable a la valeur TRUE, les boutons Nouveau, Renommer et Supprimer sont affichés dans la page Barres d’outils.
Par défaut, ou si bEnable a la valeur FALSE, ces boutons ne sont pas affichés et l’utilisateur ne peut pas définir de nouvelles barres d’outils.
CMFCToolBarsCustomizeDialog ::FillAllCommandsList
Remplit l’objet fourni CListBox
avec les commandes de la catégorie Toutes les commandes .
virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;
Paramètres
wndListOfCommands
[out] Référence à l’objet CListBox
à remplir.
Notes
La catégorie Toutes les commandes contient les commandes de toutes les catégories. La méthode CMFCToolBarsCustomizeDialog ::AddButton ajoute la commande associée au bouton fourni à la catégorie Toutes les commandes pour vous.
Cette méthode efface le contenu de l’objet fourni CListBox
avant de le remplir avec les commandes de la catégorie Toutes les commandes .
La CMFCMousePropertyPage
classe utilise cette méthode pour remplir la zone de liste des événements double-clic.
CMFCToolBarsCustomizeDialog ::FillCategoriesComboBox
Remplit l’objet fourni CComboBox
avec le nom de chaque catégorie de commandes dans la boîte de dialogue Personnaliser .
void FillCategoriesComboBox(
CComboBox& wndCategory,
BOOL bAddEmpty = TRUE) const;
Paramètres
wndCategory
[out] Référence à l’objet CComboBox
à remplir.
bAddEmpty
[in] Valeur booléenne qui spécifie s’il faut ajouter des catégories à la zone de liste modifiable qui n’ont pas de commandes. Si ce paramètre a la valeur TRUE, les catégories vides sont ajoutées à la zone de liste déroulante. Sinon, les catégories vides ne sont pas ajoutées.
Notes
Cette méthode est semblable à la méthode CMFCToolBarsCustomizeDialog ::FillCategoriesListBox , sauf que cette méthode fonctionne avec un CComboBox
objet.
Cette méthode ne efface pas le contenu de l’objet CComboBox
avant de le remplir. Elle garantit que la catégorie Toutes les commandes est l’élément final dans la zone de liste déroulante.
Vous pouvez ajouter de nouvelles catégories de commandes à l’aide de la méthode CMFCToolBarsCustomizeDialog ::AddButton . Vous pouvez modifier le nom d’une catégorie existante à l’aide de la méthode CMFCToolBarsCustomizeDialog ::RenameCategory .
Les CMFCToolBarsKeyboardPropertyPage
classes et CMFCKeyMapDialog
les classes utilisent cette méthode pour catégoriser les mappages de clavier.
CMFCToolBarsCustomizeDialog ::FillCategoriesListBox
Remplit l’objet fourni CListBox
avec le nom de chaque catégorie de commandes dans la boîte de dialogue Personnaliser .
void FillCategoriesListBox(
CListBox& wndCategory,
BOOL bAddEmpty = TRUE) const;
Paramètres
wndCategory
[out] Référence à l’objet CListBox
à remplir.
bAddEmpty
[in] Valeur booléenne qui spécifie s’il faut ajouter des catégories à la zone de liste qui n’ont pas de commandes. Si ce paramètre a la valeur TRUE, les catégories vides sont ajoutées à la zone de liste. Sinon, les catégories vides ne sont pas ajoutées.
Notes
Cette méthode est semblable à la méthode CMFCToolBarsCustomizeDialog ::FillCategoriesComboBox , sauf que cette méthode fonctionne avec un CListBox
objet.
Cette méthode ne efface pas le contenu de l’objet CListBox
avant de le remplir. Elle garantit que la catégorie Toutes les commandes est l’élément final dans la zone de liste.
Vous pouvez ajouter de nouvelles catégories de commandes à l’aide de la méthode CMFCToolBarsCustomizeDialog ::AddButton . Vous pouvez modifier le nom d’une catégorie existante à l’aide de la méthode CMFCToolBarsCustomizeDialog ::RenameCategory .
La CMFCToolBarsCommandsPropertyPage
classe utilise cette méthode pour afficher la liste des commandes associées à chaque catégorie de commandes.
CMFCToolBarsCustomizeDialog ::GetCommandName
Récupère le nom associé à l’ID de commande donné.
LPCTSTR GetCommandName(UINT uiCmd) const;
Paramètres
uiCmd
[in] ID de la commande à récupérer.
Valeur de retour
Nom associé à l’ID de commande donné, ou NULL si la commande n’existe pas.
CMFCToolBarsCustomizeDialog ::GetCountInCategory
Récupère le nombre d’éléments de la liste fournie qui ont une étiquette de texte donnée.
int GetCountInCategory(
LPCTSTR lpszItemName,
const CObList& lstCommands) const;
Paramètres
lpszItemName
[in] Étiquette de texte à mettre en correspondance.
lstCommands
[in] Référence à une liste qui contient des CMFCToolBarButton
objets.
Valeur de retour
Nombre d’éléments dans la liste fournie dont l’étiquette de texte est égale à lpszItemName.
Notes
Chaque élément de la liste d’objets fournie doit être de type CMFCToolBarButton
. Cette méthode compare lpszItemName au membre de données CMFCToolBarButton ::m_strText .
CMFCToolBarsCustomizeDialog ::GetFlags
Récupère l’ensemble d’indicateurs qui affectent le comportement de la boîte de dialogue.
UINT GetFlags() const;
Valeur de retour
Ensemble d’indicateurs qui affectent le comportement de la boîte de dialogue.
Notes
Cette méthode récupère la valeur du paramètre uiFlags transmis au constructeur. La valeur de retour peut être une ou plusieurs des valeurs suivantes :
Nom | Description |
---|---|
AFX_CUSTOMIZE_MENU_SHADOWS | Permet à l’utilisateur de spécifier l’apparence de l’ombre du menu. |
AFX_CUSTOMIZE_TEXT_LABELS | Permet à l’utilisateur de spécifier si les étiquettes de texte sont affichées sous les images du bouton de barre d’outils. |
AFX_CUSTOMIZE_MENU_ANIMATIONS | Permet à l’utilisateur de spécifier le style d’animation du menu. |
AFX_CUSTOMIZE_NOHELP | Supprime le bouton d’aide de la boîte de dialogue de personnalisation. |
AFX_CUSTOMIZE_CONTEXT_HELP | Active le style visuel WS_EX_CONTEXTHELP. |
AFX_CUSTOMIZE_NOTOOLS | Supprime la page Outils de la boîte de dialogue de personnalisation. Cet indicateur est valide si votre application utilise la CUserToolsManager classe. |
AFX_CUSTOMIZE_MENUAMPERS | Permet aux légendes de bouton de contenir le caractère ampersand ( &) . |
AFX_CUSTOMIZE_NO_LARGE_ICONS | Supprime l’option Grandes icônes de la boîte de dialogue de personnalisation. |
Pour plus d’informations sur le style visuel WS_EX_CONTEXTHELP, consultez Styles de fenêtre étendus.
CMFCToolBarsCustomizeDialog ::OnAfterChangeTool
Répond à une modification dans un outil utilisateur immédiatement après qu’il se produit.
virtual void OnAfterChangeTool(CUserTool* pSelTool);
Paramètres
pSelTool
[in, out] Pointeur vers l’objet outil utilisateur qui a été modifié.
Notes
Cette méthode est appelée par l’infrastructure lorsqu’un utilisateur modifie les propriétés d’un outil défini par l’utilisateur. L'implémentation par défaut n'exécute aucune opération. Remplacez cette méthode dans une classe dérivée du CMFCToolBarsCustomizeDialog
traitement après une modification apportée à un outil utilisateur.
CMFCToolBarsCustomizeDialog ::OnAssignKey
Valide les raccourcis clavier en tant qu’utilisateur les définit.
virtual BOOL OnAssignKey(ACCEL* pAccel);
Paramètres
pAccel
[in, out] Pointeur vers l’affectation de clavier proposée exprimée sous forme de struct ACCEL .
Valeur de retour
TRUE si la clé peut être affectée ou FALSE si la clé ne peut pas être affectée. L’implémentation par défaut retourne toujours TRUE.
Notes
Remplacez cette méthode dans une classe dérivée pour effectuer un traitement supplémentaire lorsqu’un utilisateur affecte un nouveau raccourci clavier ou pour valider les raccourcis clavier lorsque l’utilisateur les définit. Pour empêcher l’attribution d’un raccourci, retournez FALSE. Vous devez également afficher une boîte de message ou informer l’utilisateur de la raison pour laquelle le raccourci clavier a été rejeté.
CMFCToolBarsCustomizeDialog ::OnBeforeChangeTool
Effectue un traitement personnalisé lorsqu’une modification apportée à un outil utilisateur lorsque l’utilisateur est sur le point d’appliquer une modification.
virtual void OnBeforeChangeTool(CUserTool* pSelTool);
Paramètres
pSelTool
[in, out] Pointeur vers l’objet outil utilisateur sur le point d’être remplacé.
Notes
Cette méthode est appelée par l’infrastructure lorsque les propriétés d’un outil défini par l’utilisateur sont sur le point de changer. L'implémentation par défaut n'exécute aucune opération. Remplacez la OnBeforeChangeTool
méthode dans une classe dérivée de CMFCToolBarsCustomizeDialog
si vous souhaitez effectuer le traitement avant qu’une modification apportée à un outil utilisateur se produise, par exemple la libération de ressources utilisées par pSelTool .
CMFCToolBarsCustomizeDialog ::OnEditToolbarMenuImage
Démarre un éditeur d’images afin qu’un utilisateur puisse personnaliser un bouton de barre d’outils ou une icône d’élément de menu.
virtual BOOL OnEditToolbarMenuImage(
CWnd* pWndParent,
CBitmap& bitmap,
int nBitsPerPixel);
Paramètres
pWndParent
[in] Pointeur vers la fenêtre parente.
bitmap
[in] Référence à un objet bitmap à modifier.
nBitsPerPixel
[in] Résolution des couleurs bitmap, en bits par pixel.
Valeur de retour
TRUE si une modification est validée ; sinon FALSE. L’implémentation par défaut affiche une boîte de dialogue et retourne TRUE si l’utilisateur clique sur OK, ou FALSE si l’utilisateur clique sur Annuler ou le bouton Fermer.
Notes
Cette méthode est appelée par l’infrastructure lorsque l’utilisateur exécute l’éditeur d’images. L’implémentation par défaut affiche la boîte de dialogue CLASSE CMFCImageEditorDialog. Remplacez OnEditToolbarMenuImage
dans une classe dérivée pour utiliser un éditeur d’images personnalisé.
CMFCToolBarsCustomizeDialog ::OnInitDialog
Remplace l’augmentation de l’initialisation de la feuille de propriétés.
virtual BOOL OnInitDialog();
Valeur de retour
Résultat de l’appel de la méthode CPropertySheet ::OnInitDialog .
Notes
Cette méthode étend l’implémentation de classe de base, CPropertySheet ::OnInitDialog, en affichant le bouton Fermer , en veillant à ce que la boîte de dialogue corresponde à la taille de l’écran actuelle et en déplaçant le bouton d’aide vers le coin inférieur gauche de la boîte de dialogue.
CMFCToolBarsCustomizeDialog ::OnInitToolsPage
Gère la notification de l’infrastructure à laquelle la page Outils est sur le point d’être initialisée.
virtual void OnInitToolsPage();
Notes
L'implémentation par défaut n'exécute aucune opération. Substituez cette méthode dans une classe dérivée pour traiter cette notification.
CMFCToolBarsCustomizeDialog ::P ostNcDestroy
Appelé par l’infrastructure après la destruction de la fenêtre.
virtual void PostNcDestroy();
Notes
Cette méthode étend l’implémentation de classe de base, CPropertySheet::PostNcDestroy
en restaurant l’application en mode précédent.
La méthode CMFCToolBarsCustomizeDialog ::Create place l’application en mode spécial qui limite l’utilisateur aux tâches de personnalisation.
CMFCToolBarsCustomizeDialog ::RemoveButton
Supprime le bouton avec l’ID de commande spécifié de la catégorie spécifiée ou de toutes les catégories.
int RemoveButton(
UINT uiCategoryId,
UINT uiCmdId);
int RemoveButton(
LPCTSTR lpszCategory,
UINT uiCmdId);
Paramètres
uiCategoryId
[in] Spécifie l’ID de catégorie à partir duquel supprimer le bouton.
uiCmdId
[in] Spécifie l’ID de commande du bouton.
lpszCategory
[in] Spécifie le nom de la catégorie à partir de laquelle supprimer le bouton.
Valeur de retour
Index de base zéro du bouton supprimé ou -1 si l’ID de commande spécifié n’a pas été trouvé dans la catégorie spécifiée. Si uiCategoryId est -1, la valeur de retour est 0.
Notes
Pour supprimer un bouton de toutes les catégories, appelez la première surcharge de cette méthode et définissez uiCategoryId sur -1.
CMFCToolBarsCustomizeDialog ::RenameCategory
Renomme une catégorie dans la zone de liste des catégories de la page Commandes .
BOOL RenameCategory(
LPCTSTR lpszCategoryOld,
LPCTSTR lpszCategoryNew);
Paramètres
lpszCategoryOld
[in] Nom de catégorie à modifier.
lpszCategoryNew
[in] Nouveau nom de catégorie.
Valeur de retour
TRUE si la méthode a réussi ; sinon FALSE.
Notes
Le nom de catégorie doit être unique.
CMFCToolBarsCustomizeDialog ::ReplaceButton
Remplace un bouton de barre d’outils dans la zone de liste des commandes de la page Commandes .
void ReplaceButton(
UINT uiCmd,
const CMFCToolBarButton& button);
Paramètres
uiCmd
[in] Spécifie la commande du bouton à remplacer.
bouton
[in] Référence const
à l’objet bouton de barre d’outils qui remplace l’ancien bouton.
Notes
Lorsque CMFCToolBarsCustomizeDialog ::AddMenu, CMFCToolBarsCustomizeDialog ::AddMenuCommands, ou CMFCToolBarsCustomizeDialog ::AddToolBar ajoute une commande à la page Commands, cette commande est sous la forme d’un objet CMFCToolBarButton Class (ou un objet CMFCToolBarMenuButton Class pour un élément de menu qui contient un sous-menu ajouté par AddMenuCommands
). L’infrastructure appelle également ces trois méthodes pour ajouter automatiquement des commandes. Si vous souhaitez qu’une commande soit représentée par un type dérivé à la place, appelez ReplaceButton
et transmettez un bouton du type dérivé.
Exemple
L’exemple suivant montre comment utiliser la ReplaceButton
méthode dans la CMFCToolBarsCustomizeDialog
classe. Cet extrait de code fait partie de l’exemple de démonstration Visual Studio.
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCToolBarComboBoxButton comboButtonConfig
pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);
CMFCToolBarsCustomizeDialog ::SetUserCategory
Spécifie quelle catégorie dans la liste des catégories de la page Commandes est la catégorie utilisateur. Vous devez appeler cette fonction avant d’appeler CMFCToolBarsCustomizeDialog ::Create.
BOOL SetUserCategory(LPCTSTR lpszCategory);
Paramètres
lpszCategory
[in] Nom de la catégorie.
Valeur de retour
TRUE si la méthode réussit ; sinon FALSE.
Notes
Le paramètre de catégorie utilisateur n’est actuellement pas utilisé par l’infrastructure.