Partager via


CMFCMenuBar, classe

Barre de menus qui implémente l'ancrage. Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.

Syntaxe

class CMFCMenuBar : public CMFCToolbar

Membres

Méthodes publiques

Nom Description
CMFCMenuBar ::AdjustLocations (Substitue CMFCToolBar::AdjustLocations.)
CMFCMenuBar ::AllowChangeTextLabels Spécifie si les étiquettes de texte peuvent être affichées sous des images sur les boutons de barre d’outils. (Remplacements CMFCToolBar ::AllowChangeTextLabels.)
CMFCMenuBar ::AllowShowOnPaneMenu (Substitue CPane::AllowShowOnPaneMenu.)
CMFCMenuBar ::CalcFixedLayout Calcule la taille horizontale de la barre d’outils. (Remplacements CMFCToolBar ::CalcFixedLayout.)
CMFCMenuBar ::CalcLayout (Substitue CMFCToolBar::CalcLayout.)
CMFCMenuBar ::CalcMaxButtonHeight Calcule la hauteur maximale des boutons dans la barre d’outils. (Remplacements CMFCToolBar ::CalcMaxButtonHeight.)
CMFCMenuBar ::CanBeClosed Spécifie si un utilisateur peut fermer la barre d’outils. (Remplacements CMFCToolBar ::CanBeClosed.)
CMFCMenuBar ::CanBeRestored Détermine si le système peut restaurer une barre d’outils à son état d’origine après la personnalisation. (Remplacements CMFCToolBar ::CanBeRestored.)
CMFCMenuBar ::Create Crée un contrôle de menu et l’attache à un CMFCMenuBar objet.
CMFCMenuBar ::CreateEx Crée un CMFCMenuBar objet avec des options de style supplémentaires.
CMFCMenuBar ::CreateFromMenu Initialise un objet CMFCMenuBar. Accepte un paramètre HMENU qui agit comme un modèle pour un remplissage CMFCMenuBar.
CMFCMenuBar ::EnableHelpCombobox Active une zone de liste déroulante d’aide située à droite de la barre de menus.
CMFCMenuBar ::EnableMenuShadows Spécifie s’il faut afficher des ombres pour les menus contextuels.
CMFCMenuBar ::GetAvailableExpandSize (Remplacements CPane ::GetAvailableExpandSize.)
CMFCMenuBar ::GetColumnWidth Retourne la largeur des boutons de barre d’outils. (Remplacements CMFCToolBar ::GetColumnWidth.)
CMFCMenuBar ::GetDefaultMenu Retourne un handle dans le menu d’origine dans le fichier de ressources.
CMFCMenuBar ::GetDefaultMenuResId Retourne l’identificateur de ressource du menu d’origine dans le fichier de ressources.
CMFCMenuBar ::GetFloatPopupDirection
CMFCMenuBar ::GetForceDownArrows
CMFCMenuBar ::GetHelpCombobox Retourne un pointeur vers la zone de liste déroulante Aide .
CMFCMenuBar ::GetHMenu Retourne le handle au menu attaché à l’objet CMFCMenuBar .
CMFCMenuBar ::GetMenuFont Retourne la police globale actuelle pour les objets de menu.
CMFCMenuBar ::GetMenuItem Retourne le bouton de barre d’outils associé à l’index d’élément fourni.
CMFCMenuBar ::GetRowHeight Retourne la hauteur des boutons de barre d’outils. (Remplacements CMFCToolBar ::GetRowHeight.)
CMFCMenuBar ::GetSystemButton
CMFCMenuBar ::GetSystemButtonsCount
CMFCMenuBar ::GetSystemMenu
CMFCMenuBar ::HighlightDisabledItems Indique si les éléments de menu désactivés sont mis en surbrillance.
CMFCMenuBar ::IsButtonExtraSizeAvailable Détermine si la barre d’outils peut afficher des boutons qui ont des bordures étendues. (Remplacements CMFCToolBar ::IsButtonExtrasizeAvailable.)
CMFCMenuBar ::IsHighlightDisabledItems Indique si les éléments désactivés sont mis en surbrillance.
CMFCMenuBar ::IsMenuShadows Indique si les ombres sont dessinées pour les menus contextuels.
CMFCMenuBar ::IsRecentlyUsedMenus Indique si les commandes de menu récemment utilisées sont affichées dans la barre de menus.
CMFCMenuBar ::IsShowAllCommands Indique si les menus contextuels affichent toutes les commandes.
CMFCMenuBar ::IsShowAllCommandsDelay Indique si les menus affichent toutes les commandes après un court délai.
CMFCMenuBar ::LoadState Charge l’état de l’objet CMFCMenuBar à partir du Registre.
CMFCMenuBar ::OnChangeHot Appelé par l’infrastructure lorsqu’un utilisateur sélectionne un bouton dans la barre d’outils. (Remplacements CMFCToolBar ::OnChangeHot.)
CMFCMenuBar ::OnDefaultMenuLoaded Appelé par l’infrastructure lorsqu’une fenêtre frame charge le menu par défaut à partir du fichier de ressources.
CMFCMenuBar ::OnSendCommand (Substitue CMFCToolBar::OnSendCommand.)
CMFCMenuBar ::OnSetDefaultButtonText Appelé par l’infrastructure lorsqu’un menu est en mode de personnalisation et que l’utilisateur modifie le texte d’un élément de menu.
CMFCMenuBar ::OnToolHitTest (Substitue CMFCToolBar::OnToolHitTest.)
CMFCMenuBar ::P reTranslateMessage (Substitue CMFCToolBar::PreTranslateMessage.)
CMFCMenuBar ::RestoreOriginalstate Appelé par l’infrastructure lorsqu’un menu est en mode de personnalisation et que l’utilisateur sélectionne Réinitialiser pour une barre de menus.
CMFCMenuBar ::SaveState Enregistre l’état de l’objet CMFCMenuBar dans le Registre.
CMFCMenuBar ::SetDefaultMenuResId Définit le menu d’origine dans le fichier de ressources.
CMFCMenuBar ::SetForceDownArrows
CMFCMenuBar ::SetMaximizeMode Appelé par l’infrastructure lorsqu’une fenêtre enfant MDI change son mode d’affichage. Si la fenêtre enfant MDI est nouvellement agrandie ou n’est plus agrandie, cette méthode met à jour la barre de menus.
CMFCMenuBar ::SetMenuButtonRTC Définit les informations de classe runtime générées lorsque l’utilisateur crée dynamiquement des boutons de menu.
CMFCMenuBar ::SetMenuFont Définit la police de tous les menus de l’application.
CMFCMenuBar ::SetRecentlyUsedMenus Spécifie si une barre de menus affiche les commandes de menu récemment utilisées.
CMFCMenuBar ::SetShowAllCommands Spécifie si la barre de menus affiche toutes les commandes.

Notes

La CMFCMenuBar classe est une barre de menus qui implémente des fonctionnalités d’ancrage. Il ressemble à une barre d’outils, bien qu’elle ne puisse pas être fermée , elle est toujours affichée.

CMFCMenuBar prend en charge l’option d’affichage des objets d’élément de menu récemment utilisés. Si cette option est activée, l’affichage CMFCMenuBar affiche uniquement un sous-ensemble des commandes disponibles lors de la première consultation. Par la suite, les commandes récemment utilisées sont affichées avec le sous-ensemble d’origine des commandes. En outre, l’utilisateur peut toujours développer le menu pour afficher toutes les commandes disponibles. Par conséquent, chaque commande disponible est configurée pour s’afficher constamment ou pour s’afficher uniquement si elle a été sélectionnée récemment.

Pour utiliser un CMFCMenuBar objet, incorporez-le dans l’objet frame de fenêtre principale. Lors du traitement du WM_CREATE message, appelez CMFCMenuBar::Create ou CMFCMenuBar::CreateEx. Quelle que soit la fonction de création que vous utilisez, passez un pointeur vers la fenêtre de cadre principale. Activez ensuite l’ancrage en appelant CFrameWndEx ::EnableDocking. Ancrez ce menu en appelant CFrameWndEx ::D ockPane.

Exemple

L’exemple suivant montre comment utiliser différentes méthodes de la classe CMFCMenuBar . L’exemple montre comment définir le style du volet, activer le bouton personnaliser, activer une zone d’aide, activer des ombres pour les menus contextuels et mettre à jour la barre de menus. Cet extrait de code fait partie de l’exemple de démonstration IE.

CMFCMenuBar m_wndMenuBar;
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC);
m_wndMenuBar.EnableCustomizeButton(TRUE, -1, _T(""));
// first parameter is the command ID for the button of the Help combo box
// third parameter is the width of the button for the combo box in pixels.
m_wndMenuBar.EnableHelpCombobox(1, _T("enter text here"), 30);
m_wndMenuBar.EnableMenuShadows();
m_wndMenuBar.SetMaximizeMode(true);

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

Spécifications

En-tête : afxmenubar.h

CMFCMenuBar ::AdjustLocations

Ajuste les positions des éléments de menu dans la barre de menus.

virtual void AdjustLocations();

Notes

CMFCMenuBar ::AllowChangeTextLabels

Détermine si les étiquettes de texte sont autorisées sous les images dans la barre de menus.

virtual BOOL AllowChangeTextLabels() const;

Valeur de retour

Retourne TRUE si l’utilisateur peut choisir d’afficher des étiquettes de texte sous des images.

Notes

CMFCMenuBar ::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

Valeur de retour

Notes

CMFCMenuBar ::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Paramètres

[in] bStretch

[in] bHorz

Valeur de retour

Notes

CMFCMenuBar ::CalcLayout

virtual CSize CalcLayout(
    DWORD dwMode,
    int nLength = -1);

Paramètres

[in] dwMode

[in] nLength

Valeur de retour

Notes

CMFCMenuBar ::CalcMaxButtonHeight

virtual int CalcMaxButtonHeight();

Valeur de retour

Notes

CMFCMenuBar ::CanBeClosed

virtual BOOL CanBeClosed() const;

Valeur de retour

Notes

CMFCMenuBar ::CanBeRestored

virtual BOOL CanBeRestored() const;

Valeur de retour

Notes

CMFCMenuBar ::Create

Crée un contrôle de menu et l’attache à un objet CMFCMenuBar .

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    UINT nID = AFX_IDW_MENUBAR);

Paramètres

pParentWnd
[in] Pointeur vers la fenêtre parente du nouvel CMFCMenuBar objet.

dwStyle
[in] Style de la nouvelle barre de menus.

nID
[in] ID de la fenêtre enfant de la barre de menus.

Valeur de retour

TRUE en cas de réussite, sinon FALSE.

Notes

Après avoir construit un CMFCMenuBar objet, vous devez appeler Create. Cette méthode crée le CMFCMenuBar contrôle et l’attache à l’objet CMFCMenuBar .

Pour plus d’informations sur les styles de barre d’outils, consultez CBasePane ::SetPaneStyle.

CMFCMenuBar ::CreateEx

Crée un objet CMFCMenuBar avec des styles étendus spécifiés.

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    CRect rcBorders = CRect(1,
    1,
    1,
    1),
    UINT nID =AFX_IDW_MENUBAR);

Paramètres

pParentWnd
[in] Pointeur vers la fenêtre parente du nouvel CMFCMenuBar objet.

dwCtrlStyle
[in] Styles supplémentaires pour la nouvelle barre de menus.

dwStyle
[in] Style principal de la nouvelle barre de menus.

rcBorders
[in] Paramètre CRect qui spécifie les tailles des bordures de l’objet CMFCMenuBar .

nID
[in] ID de la fenêtre enfant de la barre de menus.

Valeur de retour

Différent de zéro si la méthode réussit ; sinon 0.

Notes

Vous devez utiliser cette fonction au lieu de CMFCMenuBar ::Create lorsque vous souhaitez spécifier des styles en plus du style de barre d’outils. Certains styles supplémentaires fréquemment utilisés sont TBSTYLE_TRANSPARENT et CBRS_TOP.

Pour obtenir des listes de styles supplémentaires, consultez Contrôles de barre d’outils et Styles de boutons, styles de contrôle courants et styles de fenêtre courants.

Exemple

L’exemple suivant montre comment utiliser la CreateEx méthode de la CMFCMenuBar classe. Cet extrait de code fait partie de l’exemple de démonstration IE.

CMFCMenuBar m_wndMenuBar;
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
if (!m_wndMenuBar.CreateEx(this, TBSTYLE_TRANSPARENT))
{
   TRACE0("Failed to create menubar\n");
   return -1; // fail to create
}

CMFCMenuBar ::CreateFromMenu

Initialise un objet CMFCMenuBar . Cette méthode modélise l’objet CMFCMenuBar après un paramètre HMENU.

virtual void CreateFromMenu(
    HMENU hMenu,
    BOOL bDefaultMenu = FALSE,
    BOOL bForceUpdate = FALSE);

Paramètres

hMenu
[in] Handle vers une ressource de menu. CreateFromMenu utilise cette ressource comme modèle pour le CMFCMenuBar.

bDefaultMenu
[in] Valeur booléenne qui indique si le nouveau menu est le menu par défaut.

bForceUpdate
[in] Valeur booléenne qui indique si cette méthode force une mise à jour de menu.

Notes

Utilisez cette méthode si vous souhaitez qu’un contrôle de menu ait les mêmes éléments de menu qu’une ressource de menu. Vous appelez cette méthode après avoir appelé CMFCMenuBar ::Create ou CMFCMenuBar ::CreateEx.

CMFCMenuBar ::EnableHelpCombobox

Active une zone de liste déroulante d’aide située à droite de la barre de menus.

void EnableHelpCombobox(
    UINT uiID,
    LPCTSTR lpszPrompt = NULL,
    int nComboBoxWidth = 150);

Paramètres

uiID
[in] ID de commande pour le bouton de la zone de liste déroulante Aide .

lpszPrompt
[in] Chaîne qui contient le texte affiché par l’infrastructure dans la zone de liste déroulante s’il est vide et non actif. Par exemple, « Entrez le texte ici ».

nComboBoxWidth
[in] Largeur du bouton pour la zone de liste modifiable en pixels.

Notes

La zone de liste déroulante Aide ressemble à la zone de liste déroulante Aide dans la barre de menus de Microsoft Word.

Lorsque vous appelez cette méthode avec uiID défini sur 0, cette méthode masque la zone de liste modifiable. Sinon, cette méthode affiche automatiquement la zone de liste déroulante sur le côté droit de votre barre de menus. Après avoir appelé cette méthode, appelez CMFCMenuBar ::GetHelpCombobox pour obtenir un pointeur vers l’objet CMFCToolBarComboBoxButton inséré.

CMFCMenuBar ::EnableMenuShadows

Active les ombres pour les menus contextuels.

static void EnableMenuShadows(BOOL bEnable = TRUE);

Paramètres

bEnable
[in] Paramètre booléen qui indique si les ombres doivent être activées pour les menus contextuels.

Notes

L’algorithme utilisé par cette méthode est complexe et peut réduire les performances de votre application sur des systèmes plus lents.

CMFCMenuBar ::GetAvailableExpandSize

virtual int GetAvailableExpandSize() const;

Valeur de retour

Notes

CMFCMenuBar ::GetColumnWidth

virtual int GetColumnWidth() const;

Valeur de retour

Notes

CMFCMenuBar ::GetDefaultMenu

Récupère un handle dans le menu d’origine. L’infrastructure charge le menu d’origine à partir du fichier de ressources.

HMENU GetDefaultMenu() const;

Valeur de retour

Handle vers une ressource de menu.

Notes

Si votre application personnalise un menu, vous pouvez utiliser cette méthode pour récupérer un handle dans le menu d’origine.

CMFCMenuBar ::GetDefaultMenuResId

Récupère l’identificateur de ressource pour le menu par défaut.

UINT GetDefaultMenuResId() const;

Valeur de retour

Identificateur de ressource de menu.

Notes

L’infrastructure charge le menu par défaut de l’objet CMFCMenuBar à partir du fichier de ressources.

CMFCMenuBar ::GetFloatPopupDirection

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

Paramètres

[in] pButton

Valeur de retour

Notes

CMFCMenuBar ::GetForceDownArrows

BOOL GetForceDownArrows();

Valeur de retour

Notes

CMFCMenuBar ::GetHelpCombobox

Retourne un pointeur vers la zone de liste déroulante Aide .

CMFCToolBarComboBoxButton* GetHelpCombobox();

Valeur de retour

Pointeur vers la zone de liste déroulante Aide . NULL si la zone de liste déroulante Aide est masquée ou non activée.

Notes

La zone de liste déroulante Aide se trouve sur le côté droit de la barre de menus. Appelez la méthode CMFCMenuBar ::EnableHelpCombobox pour activer cette zone de liste modifiable.

CMFCMenuBar ::GetHMenu

Récupère le handle dans le menu attaché à l’objet CMFCMenuBar .

HMENU GetHMenu() const;

CMFCMenuBar ::GetMenuFont

Récupère la police de menu active.

static const CFont& GetMenuFont(BOOL bHorz = TRUE);

Paramètres

bHorz
[in] Paramètre booléen qui spécifie s’il faut retourner la police horizontale ou verticale. TRUE indique la police horizontale.

Valeur de retour

Pointeur vers un paramètre CFont qui contient la police de la barre de menus actuelle.

Notes

La police retournée est un paramètre global pour l’application. Deux polices globales sont conservées pour tous les CMFCMenuBar objets. Ces polices distinctes sont utilisées pour les barres de menus horizontales et verticales.

CMFCMenuBar ::GetMenuItem

Récupère un objet CMFCToolBarButton sur une barre de menus basée sur l’index d’élément.

CMFCToolBarButton* GetMenuItem(int iItem) const;

Paramètres

iItem
[in] Index de l’élément de menu à retourner.

Valeur de retour

Pointeur vers l’objet CMFCToolBarButton qui correspond à l’index spécifié par iItem. NULL si l’index n’est pas valide.

CMFCMenuBar ::GetRowHeight

virtual int GetRowHeight() const;

Valeur de retour

Notes

CMFCMenuBar ::GetSystemButton

CMFCToolBarMenuButtonsButton* GetSystemButton(
    UINT uiBtn,
    BOOL bByCommand = TRUE) const;

Paramètres

[in] uiBtn

[in] bByCommand

Valeur de retour

Notes

CMFCMenuBar ::GetSystemButtonsCount

int GetSystemButtonsCount() const;

Valeur de retour

Notes

CMFCMenuBar ::GetSystemMenu

CMFCToolBarSystemMenuButton* GetSystemMenu() const;

Valeur de retour

Notes

CMFCMenuBar ::HighlightDisabledItems

Détermine si l’infrastructure met en surbrillance les éléments de menu désactivés.

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

Paramètres

bHighlight
[in] Paramètre booléen qui indique si l’infrastructure met en surbrillance les éléments de menu non disponibles.

Notes

Par défaut, l’infrastructure ne met pas en surbrillance les éléments de menu indisponibles lorsque l’utilisateur positionne le pointeur de la souris dessus.

CMFCMenuBar ::IsButtonExtraSizeAvailable

virtual BOOL IsButtonExtraSizeAvailable() const;

Valeur de retour

Notes

CMFCMenuBar ::IsHighlightDisabledItems

Indique si l’infrastructure met en surbrillance les éléments de menu non disponibles.

static BOOL IsHighlightDisabledItems();

Valeur de retour

TRUE si les éléments de menu non disponibles sont mis en surbrillance ; sinon FALSE.

Notes

Par défaut, l’infrastructure ne met pas en surbrillance les éléments de menu indisponibles lorsque l’utilisateur positionne le pointeur de la souris dessus. Utilisez la méthode CMFCMenuBar ::HighlightDisabledItems pour activer cette fonctionnalité.

CMFCMenuBar ::IsMenuShadows

Indique si l’infrastructure dessine des ombres pour les menus contextuels.

static BOOL IsMenuShadows();

Valeur de retour

TRUE si l’infrastructure dessine des ombres de menu ; sinon FALSE.

Notes

Utilisez la méthode CMFCMenuBar ::EnableMenuShadows pour activer ou désactiver cette fonctionnalité.

CMFCMenuBar ::IsRecentlyUsedMenus

Indique si les commandes de menu récemment utilisées sont affichées dans la barre de menus.

static BOOL IsRecentlyUsedMenus();

Valeur de retour

Différent de zéro si l’objet CMFCMenuBar affiche des commandes de menu récemment utilisées ; sinon, 0.

Notes

Utilisez la fonction CMFCMenuBar ::SetRecentlyUsedMenus pour contrôler si la barre de menus affiche les commandes de menu récemment utilisées.

CMFCMenuBar ::IsShowAllCommands

Indique si les menus affichent toutes les commandes.

static BOOL IsShowAllCommands();

Valeur de retour

Différent de zéro si la CMFCMenuBar commande affiche toutes les commandes ; sinon, 0.

Notes

Un CMFCMenuBar objet peut être configuré pour afficher toutes les commandes ou afficher uniquement un sous-ensemble de commandes. Pour plus d’informations sur cette fonctionnalité, consultez CMFCMenuBar, classe.

IsShowAllCommands indique comment cette fonctionnalité est configurée pour l’objet CMFCMenuBar . Pour contrôler les commandes de menu affichées, utilisez les méthodes CMFCMenuBar ::SetShowAllCommands et CMFCMenuBar ::SetRecentlyUsedMenus.

CMFCMenuBar ::IsShowAllCommandsDelay

Indique si l’objet CMFCMenuBar affiche toutes les commandes après un court délai.

static BOOL IsShowAllCommandsDelay();

Valeur de retour

Différent de zéro si la barre de menus affiche des menus complets après un court délai ; sinon 0.

Notes

Lorsque vous configurez une barre de menus pour afficher les éléments récemment utilisés, la barre de menus affiche le menu complet de l’une des deux manières suivantes :

  • Affichez le menu complet après un délai programmé à partir duquel l’utilisateur pointe le curseur sur la flèche située en bas du menu.

  • Affichez le menu complet une fois que l’utilisateur clique sur la flèche située en bas du menu.

Par défaut, tous les CMFCMenuBar objets utilisent l’option pour afficher le menu complet après un court délai. Cette option ne peut pas être modifiée par programmation dans la CMFCMenuBar classe. Toutefois, un utilisateur peut modifier le comportement lors de la personnalisation de la barre d’outils à l’aide de la boîte de dialogue Personnaliser ..

CMFCMenuBar ::LoadState

Charge l’état de la barre de menus à partir du Registre Windows.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

Paramètres

lpszProfileName
[in] Chaîne qui contient le chemin d’accès d’une clé de Registre Windows.

nIndex
[in] ID de contrôle de la barre de menus.

uiID
[in] Valeur réservée.

Valeur de retour

TRUE si la méthode a réussi ; sinon FALSE.

Notes

Utilisez la méthode CMFCMenuBar ::SaveState pour enregistrer l’état de la barre de menus dans le Registre. Les informations enregistrées incluent les éléments de menu, l’état d’ancrage et la position de la barre de menus.

Dans la plupart des cas, votre application n’appelle LoadStatepas . L’infrastructure appelle cette méthode lorsqu’elle initialise l’espace de travail.

CMFCMenuBar ::OnChangeHot

virtual void OnChangeHot(int iHot);

Paramètres

[in] iHot

Notes

CMFCMenuBar ::OnDefaultMenuLoaded

L’infrastructure appelle cette méthode lorsqu’elle charge la ressource de menu à partir du fichier de ressources.

virtual void OnDefaultMenuLoaded(HMENU hMenu);

Paramètres

hMenu
[in] Handle du menu attaché à l’objet CMFCMenuBar .

Notes

L’implémentation par défaut de cette fonction est sans effet. Remplacez cette fonction pour exécuter du code personnalisé une fois que l’infrastructure charge une ressource de menu à partir du fichier de ressources.

CMFCMenuBar ::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

Paramètres

[in] pButton

Valeur de retour

Notes

CMFCMenuBar ::OnSetDefaultButtonText

L’infrastructure appelle cette méthode lorsque l’utilisateur modifie le texte d’un élément dans la barre de menus.

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

Paramètres

pButton
[in] Pointeur vers l’objet CMFCToolBarButton que l’utilisateur souhaite personnaliser.

Valeur de retour

TRUE si l’infrastructure applique les modifications apportées à la barre de menus ; sinon FALSE.

Notes

L’implémentation par défaut de cette méthode modifie le texte du bouton par le texte fourni par l’utilisateur.

CMFCMenuBar ::OnToolHitTest

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Paramètres

[in] point

[in] Pti

Valeur de retour

Notes

CMFCMenuBar ::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paramètres

[in] pMsg

Valeur de retour

Notes

CMFCMenuBar ::RestoreOriginalstate

Appelé par l’infrastructure lorsque l’utilisateur sélectionne Réinitialiser dans la boîte de dialogue Personnaliser.

virtual BOOL RestoreOriginalstate();

Valeur de retour

Différent de zéro si la méthode réussit ; sinon 0.

Notes

Cette méthode est appelée lorsque l’utilisateur sélectionne Réinitialiser dans le menu de personnalisation. Vous pouvez également appeler manuellement cette méthode pour réinitialiser par programmation l’état de la barre de menus. Cette méthode charge l’état d’origine à partir du fichier de ressources.

Remplacez cette méthode si vous souhaitez effectuer un traitement lorsque l’utilisateur sélectionne l’option Réinitialiser .

CMFCMenuBar ::SaveState

Enregistre l’état de l’objet CMFCMenuBar dans le Registre Windows.

virtual BOOL SaveState (
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

Paramètres

lpszProfileName
[in] Chaîne qui contient le chemin d’accès d’une clé de Registre Windows.

nIndex
[in] ID de contrôle de la barre de menus.

uiID
[in] Valeur réservée.

Valeur de retour

TRUE si elle réussit ; sinon FALSE ;

Notes

En règle générale, votre application n’appelle SaveStatepas . L’infrastructure appelle cette méthode lorsque l’espace de travail est sérialisé. Pour plus d’informations, consultez CWinAppEx ::SaveState.

Les informations enregistrées incluent les éléments de menu, l’état d’ancrage et la position de la barre de menus.

CMFCMenuBar ::SetDefaultMenuResId

Définit le menu par défaut d’un objet CMFCMenuBar en fonction de l’ID de ressource.

void SetDefaultMenuResId(UINT uiResId);

Paramètres

uiResId
[in] ID de ressource pour le nouveau menu par défaut.

Notes

La méthode CMFCMenuBar ::RestoreOriginalstate restaure le menu par défaut à partir du fichier de ressources.

Utilisez la méthode CMFCMenuBar ::GetDefaultMenuResId pour récupérer le menu par défaut sans le restaurer.

CMFCMenuBar ::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

Paramètres

[in] bValue

Notes

CMFCMenuBar ::SetMaximizeMode

L’infrastructure appelle cette méthode lorsqu’un MDI modifie son mode d’affichage et que la barre de menus doit être mise à jour.

void SetMaximizeMode(
    BOOL bMax,
    CWnd* pWnd = NULL,
    BOOL bRecalcLayout = TRUE);

Paramètres

bMax
[in] Boolean qui spécifie le mode. Pour plus d'informations, consultez la section Notes.

pWnd
[in] Pointeur vers la fenêtre enfant MDI qui change.

bRecalcLayout
[in] Valeur booléenne qui spécifie si la disposition de la barre de menus doit être recalculée immédiatement.

Notes

Lorsqu’une fenêtre enfant MDI est agrandie, une barre de menus attachée à la fenêtre du cadre principal MDI affiche le menu système et les boutons Réduire, Agrandir et Fermer . Si bMax a la valeur TRUE et que pWnd n’est pas NULL, la fenêtre enfant MDI est agrandie et la barre de menus doit incorporer les contrôles supplémentaires. Sinon, la barre de menus retourne à son état normal.

CMFCMenuBar ::SetMenuButtonRTC

Définit les informations de classe runtime utilisées par l’infrastructure lorsque l’utilisateur crée des boutons de menu.

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

Paramètres

pMenuButtonRTC
[in] Informations CRuntimeClass pour une classe dérivée de la classe CMFCMenuButton.

Notes

Lorsqu’un utilisateur ajoute de nouveaux boutons à la barre de menus, l’infrastructure crée dynamiquement les boutons. Par défaut, il crée des CMFCMenuButton objets. Remplacez cette méthode pour modifier le type d’objets bouton créés par l’infrastructure.

CMFCMenuBar ::SetMenuFont

Définit la police pour toutes les barres de menus de votre application.

static BOOL SetMenuFont(
    LPLOGFONT lpLogFont,
    BOOL bHorz = TRUE);

Paramètres

lpLogFont
[in] Pointeur vers une structure LOGFONT qui définit la police à définir.

bHorz
[in] TRUE si vous souhaitez que le paramètre lpLogFont soit utilisé pour la police verticale, FALSE si vous souhaitez qu’il soit utilisé pour la police horizontale.

Valeur de retour

TRUE si la méthode a réussi ; sinon FALSE.

Notes

Deux polices sont utilisées pour tous les CMFCMenuBar objets. Ces polices distinctes sont utilisées pour les barres de menus horizontales et verticales.

Les paramètres de police sont des variables globales et affectent tous les CMFCMenuBar objets.

CMFCMenuBar ::SetRecentlyUsedMenus

Contrôle si une barre de menus affiche les commandes de menu récemment utilisées.

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

Paramètres

bOn
[in] Boolean qui contrôle si les commandes de menu récemment utilisées sont affichées.

CMFCMenuBar ::SetShowAllCommands

Contrôle si un menu affiche toutes les commandes disponibles.

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

Paramètres

bShowAllCommands
[in] Paramètre booléen qui spécifie si le menu contextuel affiche toutes les commandes de menu.

Notes

Si un menu n’affiche pas toutes les commandes de menu, elle masque les commandes rarement utilisées. Pour plus d’informations sur l’affichage des commandes de menu, consultez CMFCMenuBar, classe.

Voir aussi

Graphique hiérarchique
Classes
CMFCToolBar, classe