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
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 LoadState
pas . 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 SaveState
pas . 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.