Share via


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

CObject

CCmdTarget

CWnd

CPropertySheet

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 à case activée.

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 être 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 Autorise les légende de bouton à 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::PostNcDestroyen 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.

Voir aussi

Graphique hiérarchique
Classes
CPropertySheet, classe