CMFCDropDownToolbarButton, classe
Type de bouton de barre d'outils qui se comporte comme un bouton normal lorsque l'utilisateur clique dessus. Toutefois, il ouvre une barre d’outils déroulante ( CMFCDropDownToolBar Class si l’utilisateur appuie et conserve le bouton de barre d’outils vers le bas.
Syntaxe
class CMFCDropDownToolbarButton : public CMFCToolBarButton
Membres
Constructeurs publics
Nom | Description |
---|---|
CMFCDropDownToolbarButton ::CMFCDropDownToolbarButton | Construit un objet CMFCDropDownToolbarButton . |
CMFCDropDownToolbarButton::~CMFCDropDownToolbarButton |
Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CMFCDropDownToolbarButton ::CopyFrom | Copie les propriétés d’un autre bouton de barre d’outils vers le bouton actif. (Remplacements CMFCToolBarButton ::CopyFrom.) |
CMFCDropDownToolbarButton::CreateObject |
Utilisé par l'infrastructure pour créer une instance dynamique de ce type de classe. |
CMFCDropDownToolbarButton ::D ropDownToolbar | Ouvre une barre d’outils déroulante. |
CMFCDropDownToolbarButton ::ExportToMenuButton | Copie du texte du bouton de la barre d’outils dans un menu. (Remplacements CMFCToolBarButton ::ExportToMenuButton.) |
CMFCDropDownToolbarButton ::GetDropDownToolBar | Récupère la barre d’outils déroulante associée au bouton. |
CMFCDropDownToolbarButton::GetThisClass |
Utilisé par l’infrastructure pour obtenir un pointeur vers l’objet CRuntimeClass associé à ce type de classe. |
CMFCDropDownToolbarButton ::IsDropDown | Détermine si la barre d’outils déroulante est actuellement ouverte. |
CMFCDropDownToolbarButton ::IsExtrasize | Détermine si le bouton peut être affiché avec une bordure étendue. (Remplacements CMFCToolBarButton ::IsExtrasize.) |
CMFCDropDownToolbarButton ::OnCalculateSize | Appelé par l’infrastructure pour calculer la taille du bouton pour le contexte de l’appareil spécifié et l’état d’ancrage. (Remplacements CMFCToolBarButton ::OnCalculateSize.) |
CMFCDropDownToolbarButton::OnCancelMode |
Appelé par l’infrastructure pour gérer le message WM_CANCELMODE . (Substitue CMCToolBarButton::OnCancelMode .) |
CMFCDropDownToolbarButton ::OnChangeParentWnd | Appelé par l’infrastructure lorsque le bouton est inséré dans une nouvelle barre d’outils. (Remplacements CMFCToolBarButton ::OnChangeParentWnd.) |
CMFCDropDownToolbarButton ::OnClick | Appelé par l’infrastructure lorsque l’utilisateur clique sur le bouton de la souris. (Remplacements CMFCToolBarButton ::OnClick.) |
CMFCDropDownToolbarButton ::OnClickUp | Appelé par l’infrastructure lorsque l’utilisateur relâche le bouton de la souris. (Remplacements CMFCToolBarButton ::OnClickUp.) |
CMFCDropDownToolbarButton ::OnContextHelp | Appelé par l’infrastructure lorsque la barre d’outils parent gère un message WM_HELPHITTEST. (Remplacements CMFCToolBarButton ::OnContextHelp.) |
CMFCDropDownToolbarButton ::OnCustomizeMenu | Modifie le menu fourni lorsque l’application affiche un menu contextuel dans la barre d’outils parente. (Remplacements CMFCToolBarButton ::OnCustomizeMenu.) |
CMFCDropDownToolbarButton ::OnDraw | Appelé par l’infrastructure pour dessiner le bouton à l’aide des styles et options spécifiés. (Remplacements CMFCToolBarButton ::OnDraw.) |
CMFCDropDownToolbarButton ::OnDrawOnCustomizeList | Appelé par l’infrastructure pour dessiner le bouton dans le volet Commandes de la boîte de dialogue Personnaliser . (Remplacements CMFCToolBarButton ::OnDrawOnCustomizeList.) |
CMFCDropDownToolbarButton ::Serialize | Lit cet objet à partir d’une archive ou l’écrit dans une archive. (Remplacements CMFCToolBarButton ::Serialize.) |
CMFCDropDownToolbarButton ::SetDefaultCommand | Définit la commande par défaut utilisée par l’infrastructure lorsqu’un utilisateur clique sur le bouton. |
Données membres
Nom | Description |
---|---|
CMFCDropDownToolbarButton ::m_uiShowBarDelay | Spécifie la durée pendant laquelle un utilisateur doit maintenir le bouton de la souris enfoncé avant l’affichage de la barre d’outils déroulante. |
Notes
Un CMFCDropDownToolBarButton
bouton différent d’un bouton ordinaire dans lequel il a une petite flèche dans le coin inférieur droit du bouton. Une fois que l’utilisateur a sélectionné un bouton dans la barre d’outils déroulante, l’infrastructure affiche son icône sur le bouton de barre d’outils de niveau supérieur (le bouton avec la petite flèche dans le coin inférieur droit).
Pour plus d’informations sur l’implémentation d’une barre d’outils déroulante, consultez CMFCDropDownToolBar, classe.
L’objet CMFCDropDownToolBarButton
peut être exporté vers un objet CMFCToolBarMenuButton Class et affiché en tant que bouton de menu avec un menu contextuel.
Hiérarchie d'héritage
Spécifications
En-tête : afxdropdowntoolbar.h
CMFCDropDownToolbarButton ::CopyFrom
Copie les propriétés d’un autre bouton de barre d’outils vers le bouton actif.
virtual void CopyFrom(const CMFCToolBarButton& src);
Paramètres
src
[in] Référence au bouton source à partir duquel copier.
Notes
Appelez cette méthode pour copier un autre bouton de barre d’outils vers ce bouton de barre d’outils. src doit être de type CMFCDropDownToolbarButton
.
CMFCDropDownToolbarButton ::CMFCDropDownToolbarButton
Construit un objet CMFCDropDownToolbarButton
.
CMFCDropDownToolbarButton();
CMFCDropDownToolbarButton(
LPCTSTR lpszName,
CMFCDropDownToolBar* pToolBar);
Paramètres
lpszName
[in] Texte par défaut du bouton.
pToolBar
[in] Pointeur vers l’objet CMFCDropDownToolBar
affiché lorsque l’utilisateur appuie sur le bouton.
Notes
La deuxième surcharge du constructeur copie vers le bouton déroulant le premier bouton de la barre d’outils spécifiée par pToolBar .
En règle générale, un bouton de barre d’outils déroulante utilise le texte du bouton le plus récemment utilisé dans la barre d’outils spécifiée par pToolBar . Il utilise le texte spécifié par lpszName lorsque le bouton est converti en bouton de menu ou affiché sous l’onglet Commandes de la boîte de dialogue Personnaliser. Pour plus d’informations sur la boîte de dialogue Personnaliser , consultez CMFCToolBarsCustomizeDialog, classe.
Exemple
L’exemple suivant montre comment construire un objet de la CMFCDropDownToolbarButton
classe. Cet extrait de code fait partie de l’exemple de démonstration Visual Studio.
// Add dropdown resources button
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCDropDownToolBar m_wndToolbarResource
pDlgCust->AddButton(_T("Build"), CMFCDropDownToolbarButton(_T("Add Resource"), &m_wndToolbarResource));
CMFCDropDownToolbarButton ::D ropDownToolbar
Ouvre une barre d’outils déroulante.
BOOL DropDownToolbar(CWnd* pWnd);
Paramètres
pWnd
[in] Fenêtre parente du cadre déroulant ou NULL pour utiliser la fenêtre parente du bouton de barre d’outils déroulante.
Valeur de retour
Différent de zéro si la méthode réussit ; sinon 0.
Notes
La méthode CMFCDropDownToolbarButton ::OnClick appelle cette méthode pour ouvrir la barre d’outils déroulante lorsque l’utilisateur appuie et conserve le bouton de barre d’outils vers le bas.
Cette méthode crée la barre d’outils déroulante à l’aide de la méthode CMFCDropDownFrame ::Create . Si la barre d’outils parente est ancrée verticalement, cette méthode positionne la barre d’outils déroulante à gauche ou à droite de la barre d’outils parente, selon l’ajustement. Sinon, cette méthode positionne la barre d’outils déroulante sous la barre d’outils parente.
Cette méthode échoue si pWnd a la valeur NULL et que le bouton de barre d’outils déroulant n’a pas de fenêtre parente.
CMFCDropDownToolbarButton ::ExportToMenuButton
Copie du texte du bouton de la barre d’outils dans un menu.
virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;
Paramètres
menuButton
[in] Référence au bouton du menu cible.
Valeur de retour
Différent de zéro si la méthode réussit ; sinon, 0.
Notes
Cette méthode appelle l’implémentation de classe de base ( CMFCToolBarButton ::ExportToMenuButton), puis ajoute au bouton de menu cible un menu contextuel qui contient chaque élément de menu de barre d’outils de ce bouton. Cette méthode n’ajoute pas de sous-menus au menu contextuel.
Cette méthode échoue si la barre d’outils parente, m_pToolBar
est NULL ou si l’implémentation de classe de base retourne FALSE.
CMFCDropDownToolbarButton ::GetDropDownToolBar
Récupère la barre d’outils déroulante associée au bouton.
CMFCToolBar* GetDropDownToolBar() const;
Valeur de retour
Barre d’outils déroulante associée au bouton.
Notes
Cette méthode retourne le membre de m_pToolBar
données.
CMFCDropDownToolbarButton ::IsDropDown
Détermine si la barre d’outils déroulante est actuellement ouverte.
BOOL IsDropDown() const;
Valeur de retour
Différent de zéro si la barre d’outils déroulante est actuellement ouverte ; sinon 0.
Notes
L’infrastructure ouvre la barre d’outils déroulante à l’aide de la méthode CMFCDropDownToolbarButton ::D ropDownToolbar . L’infrastructure ferme la barre d’outils déroulante lorsque l’utilisateur appuie sur le bouton gauche de la souris dans la zone non cliente de la barre d’outils déroulante.
CMFCDropDownToolbarButton ::IsExtrasize
Détermine si le bouton peut être affiché avec une bordure étendue.
virtual BOOL IsExtraSize() const;
Valeur de retour
Différent de zéro si le bouton de barre d’outils peut être affiché avec une bordure étendue ; sinon 0.
Notes
Pour plus d’informations sur les bordures étendues, consultez CMFCToolBarButton ::IsExtraSize.
CMFCDropDownToolbarButton ::m_uiShowBarDelay
Spécifie la durée pendant laquelle un utilisateur doit maintenir le bouton de la souris enfoncé avant l’affichage de la barre d’outils déroulante.
static UINT m_uiShowBarDelay;
Notes
Le délai est mesuré en millisecondes. La valeur par défaut est 500. Vous pouvez définir un autre délai en modifiant la valeur de ce membre de données partagé.
CMFCDropDownToolbarButton ::OnCalculateSize
Appelé par l’infrastructure pour calculer la taille du bouton pour le contexte de l’appareil spécifié et l’état d’ancrage.
virtual SIZE OnCalculateSize(
CDC* pDC,
const CSize& sizeDefault,
BOOL bHorz);
Paramètres
pDC
[in] Contexte de l’appareil qui affiche le bouton.
sizeDefault
[in] Taille par défaut du bouton.
bHorz
[in] État d’ancrage de la barre d’outils parente. Ce paramètre a la valeur TRUE si la barre d’outils est ancrée horizontalement ou flottante, ou FALSE si la barre d’outils est ancrée verticalement.
Valeur de retour
Structure SIZE
qui contient les dimensions du bouton, en pixels.
Notes
Cette méthode étend l’implémentation de classe de base ( CMFCToolBarButton ::OnCalculateSize) en ajoutant la largeur de la flèche déroulante à la dimension horizontale de la taille du bouton.
CMFCDropDownToolbarButton ::OnChangeParentWnd
Appelé par l’infrastructure lorsque le bouton est inséré dans une nouvelle barre d’outils.
virtual void OnChangeParentWnd(CWnd* pWndParent);
Paramètres
pWndParent
[in] Nouvelle fenêtre parente.
Notes
Cette méthode remplace l’implémentation de classe de base ( CMFCToolBarButton ::OnChangeParentWnd) en désactivant l’étiquette de texte ( CMFCToolBarButton ::m_strText) et en définissant cmFCToolBarButton ::m_bText et CMFCToolBarButton ::m_bUserButton membres de données sur FALSE.
CMFCDropDownToolbarButton ::OnClick
Appelé par l’infrastructure lorsque l’utilisateur clique sur le bouton de la souris.
virtual BOOL OnClick(
CWnd* pWnd,
BOOL bDelay = TRUE);
Paramètres
pWnd
[in] Fenêtre parente du bouton de barre d’outils.
bDelay
[in] TRUE si le message doit être géré avec un délai.
Valeur de retour
Différent de zéro si le bouton traite le message de clic ; sinon 0.
Notes
Cette méthode étend l’implémentation de classe de base, CMFCToolBarButton ::OnClick, en mettant à jour l’état de la barre d’outils déroulante.
Lorsqu’un utilisateur clique sur le bouton de barre d’outils, cette méthode crée un minuteur qui attend la durée spécifiée par le membre de données CMFCDropDownToolbarButton ::m_uiShowBarDelay membre de données, puis ouvre la barre d’outils déroulante à l’aide de la méthode CMFCDropDownToolbarButton ::D ropDownToolbar . Cette méthode ferme la barre d’outils déroulante la deuxième fois que l’utilisateur clique sur le bouton de barre d’outils.
CMFCDropDownToolbarButton ::OnClickUp
Appelé par l’infrastructure lorsque l’utilisateur relâche le bouton de la souris.
virtual BOOL OnClickUp();
Valeur de retour
Différent de zéro si le bouton traite le message de clic ; sinon 0.
Notes
Cette méthode étend l’implémentation de classe de base, CMFCToolBarButton ::OnClickUp, en mettant à jour l’état de la barre d’outils déroulante.
Cette méthode arrête le minuteur de barre d’outils déroulant s’il est actif. Elle ferme la barre d’outils déroulante si elle est ouverte.
Pour plus d’informations sur la barre d’outils déroulante et le minuteur de barre d’outils déroulant, consultez CMFCDropDownToolbarButton ::OnClick.
CMFCDropDownToolbarButton ::OnContextHelp
Appelé par l’infrastructure lorsque la barre d’outils parent gère un message WM_HELPHITTEST.
virtual BOOL OnContextHelp(CWnd* pWnd);
Paramètres
pWnd
[in] Fenêtre parente du bouton de barre d’outils.
Valeur de retour
Différent de zéro si le bouton traite le message d’aide ; sinon 0.
Notes
Cette méthode étend l’implémentation de classe de base ( CMFCToolBarButton ::OnContextHelp) en appelant la méthode CMFCDropDownToolbarButton ::OnClick avec bDelay défini sur FALSE. Cette méthode retourne la valeur retournée par CMFCDropDownToolbarButton ::OnClick.
Pour plus d’informations sur le message WM_HELPHITTEST, consultez TN028 : Prise en charge de l’aide contextuelle.
CMFCDropDownToolbarButton ::OnCustomizeMenu
Modifie le menu fourni lorsque l’application affiche un menu contextuel dans la barre d’outils parente.
virtual BOOL OnCustomizeMenu(CMenu* pMenu);
Paramètres
pMenu
[in] Menu à personnaliser.
Valeur de retour
Cette méthode retourne TRUE.
Notes
Cette méthode étend l’implémentation de classe de base ( CMFCToolBarButton ::OnCustomizeMenu) en désactivant les éléments de menu suivants :
Copier l’image du bouton
Apparence du bouton
Image
Texte
Image et texte
Remplacez cette méthode pour modifier le menu contextuel affiché par l’infrastructure en mode de personnalisation.
CMFCDropDownToolbarButton ::OnDraw
Appelé par l’infrastructure pour dessiner le bouton à l’aide des styles et options spécifiés.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
CMFCToolBarImages* pImages,
BOOL bHorz = TRUE,
BOOL bCustomizeMode = FALSE,
BOOL bHighlight = FALSE,
BOOL bDrawBorder = TRUE,
BOOL bGrayDisabledButtons = TRUE);
Paramètres
pDC
[in] Contexte de l’appareil qui affiche le bouton.
rect
[in] Rectangle englobant du bouton.
pImages
[in] Collection d’images de barre d’outils associées au bouton.
bHorz
[in] État d’ancrage de la barre d’outils parente. Ce paramètre est TRUE lorsque le bouton est ancré horizontalement et FALSE lorsque le bouton est ancré verticalement.
bCustomizeMode
[in] Spécifie si la barre d’outils est en mode de personnalisation. Ce paramètre a la valeur TRUE lorsque la barre d’outils est en mode de personnalisation et FALSE lorsque la barre d’outils n’est pas en mode de personnalisation.
bHighlight
[in] Spécifie si le bouton est mis en surbrillance. Ce paramètre a la valeur TRUE lorsque le bouton est mis en surbrillance et FALSE lorsque le bouton n’est pas mis en surbrillance.
bDrawBorder
[in] Spécifie si le bouton doit afficher sa bordure. Ce paramètre a la valeur TRUE lorsque le bouton doit afficher sa bordure et FALSE lorsque le bouton ne doit pas afficher sa bordure.
bGrayDisabledButtons
[in] Spécifie s’il faut ombrer les boutons désactivés ou utiliser la collection d’images désactivées. Ce paramètre a la valeur TRUE lorsque les boutons désactivés doivent être ombrés et FALSE lorsque cette méthode doit utiliser la collection d’images désactivées.
Notes
Remplacez cette méthode pour personnaliser le dessin du bouton de barre d’outils.
CMFCDropDownToolbarButton ::OnDrawOnCustomizeList
Appelé par l’infrastructure pour dessiner le bouton dans le volet Commandes de la boîte de dialogue Personnaliser .
virtual int OnDrawOnCustomizeList(
CDC* pDC,
const CRect& rect,
BOOL bSelected);
Paramètres
pDC
[in] Contexte de l’appareil qui affiche le bouton.
rect
[in] Rectangle englobant du bouton.
bSelected
[in] Indique si le bouton est sélectionné. Si ce paramètre a la valeur TRUE, le bouton est sélectionné. Si ce paramètre a la valeur FALSE, le bouton n’est pas sélectionné.
Valeur de retour
Largeur, en pixels, du bouton sur le contexte d’appareil spécifié.
Notes
Cette méthode est appelée par la boîte de dialogue de personnalisation ( onglet Commandes ) lorsque le bouton doit s’afficher sur la zone de liste de dessin propriétaire.
Cette méthode étend l’implémentation de la classe de base ( CMFCToolBarButton ::OnDrawOnCustomizeList) en remplaçant l’étiquette de texte du bouton par le nom du bouton (autrement dit, par la valeur du paramètre lpszName que vous avez passé au constructeur).
CMFCDropDownToolbarButton ::Serialize
Lit cet objet à partir d’une archive ou l’écrit dans une archive.
virtual void Serialize(CArchive& ar);
Paramètres
Ar
[in] Objet CArchive
à partir duquel ou vers lequel sérialiser.
Notes
Cette méthode étend l’implémentation de classe de base ( CMFCToolBarButton ::Serialize) en sérialisant l’ID de ressource de la barre d’outils parente. Lorsque l’archive est chargée ( CArchive ::IsLoading retourne une valeur différente de zéro), cette méthode définit le m_pToolBar
membre de données sur la barre d’outils qui contient l’ID de ressource sérialisé.
CMFCDropDownToolbarButton ::SetDefaultCommand
Définit la commande par défaut utilisée par l’infrastructure lorsqu’un utilisateur clique sur le bouton.
void SetDefaultCommand(UINT uiCmd);
Paramètres
uiCmd
[in] ID de la commande par défaut.
Notes
Appelez cette méthode pour spécifier une commande par défaut exécutée par l’infrastructure lorsque l’utilisateur clique sur le bouton. Un élément avec l’ID de commande spécifié par uiCmd doit se trouver dans la barre d’outils déroulante parente.
Voir aussi
Graphique hiérarchique
Classes
CMFCDropDownToolBar, classe
CMFCToolBar, classe
CMFCToolBarMenuButton, classe
Procédure pas à pas : placement de contrôles dans les barres d’outils