La classe CMFCButton

La CMFCButton classe ajoute des fonctionnalités à la classe, telles que l’alignement CButton du texte du bouton, la combinaison de texte de bouton et d’une image, la sélection d’un curseur et la spécification d’une info-bulle.

Syntaxe

class CMFCButton : public CButton

Membres

Constructeurs publics

Nom Description
CMFCButton::CMFCButton Constructeur par défaut.
CMFCButton::~CMFCButton Destructeur.

Méthodes publiques

Nom Description
CMFCButton::CleanUp Réinitialise les variables internes et libère les ressources allouées telles que les images, les bitmaps et les icônes.
CMFCButton::CreateObject Utilisé par l'infrastructure pour créer une instance dynamique de ce type de classe.
CMFCButton::DrawItem Appelé par l’infrastructure lorsqu’un aspect visuel d’un bouton dessiné par le propriétaire a changé. (Substitue CButton::DrawItem.)
CMFCButton::EnableFullTextTooltip Spécifie s’il faut afficher le texte intégral d’une info-bulle dans une fenêtre d’info-bulle volumineuse ou une version tronquée du texte dans une petite fenêtre d’info-bulle.
CMFCButton::EnableMenuFont Spécifie si la police de texte du bouton est identique à la police de menu de l’application.
CMFCButton::EnableWindowsTheming Spécifie si le style de la bordure du bouton correspond au thème Windows actuel.
CMFCButton::GetThisClass Utilisé par l’infrastructure pour obtenir un pointeur vers l’objet CRuntimeClass associé à ce type de classe.
CMFCButton::GetToolTipCtrl Retourne une référence au contrôle d’info-bulle sous-jacent.
CMFCButton::IsAutoCheck Indique si une case case activée ou une case d’option est un bouton automatique.
CMFCButton::IsAutorepeatCommandMode Indique si un bouton est défini sur le mode de répétition automatique.
CMFCButton::IsCheckBox Indique si un bouton est un bouton case activée zone.
CMFCButton::IsChecked Indique si le bouton actif est case activée ed.
CMFCButton::IsHighlighted Indique si un bouton est mis en surbrillance.
CMFCButton::IsPressed Indique si un bouton est poussé et mis en surbrillance.
CMFCButton::IsPushed Indique si un bouton est poussé.
CMFCButton::IsRadioButton Indique si un bouton est une case d’option.
CMFCButton::IsWindowsThemingEnabled Indique si le style de la bordure du bouton correspond au thème Windows actuel.
CMFCButton::OnDrawParentBackground Dessine l’arrière-plan du parent d’un bouton dans la zone spécifiée. (Remplacements AFX_GLOBAL_DATA::DrawParentBackground
CMFCButton::PreTranslateMessage Traduit les messages de fenêtre avant qu’ils ne soient distribués aux TranslateMessage fonctions Windows.DispatchMessage (Substitue CWnd::PreTranslateMessage.)
CMFCButton::SetAutorepeatMode Définit un bouton sur le mode de répétition automatique.
CMFCButton::SetCheckedImage Définit l’image d’un bouton case activée ed.
CMFCButton::SetFaceColor Définit la couleur d’arrière-plan du texte du bouton.
CMFCButton::SetImage Définit l’image d’un bouton.
CMFCButton::SetMouseCursor Définit l’image du curseur.
CMFCButton::SetMouseCursorHand Définit le curseur sur l’image d’une main.
CMFCButton::SetStdImage Utilise un CMenuImages objet pour définir l’image du bouton.
CMFCButton::SetTextColor Définit la couleur du texte du bouton pour un bouton qui n’est pas sélectionné.
CMFCButton::SetTextHotColor Définit la couleur du texte du bouton pour un bouton sélectionné.
CMFCButton::SetTooltip Associe une info-bulle à un bouton.
CMFCButton::SizeToContent Redimensionne un bouton pour contenir son texte et son image de bouton.

Méthodes protégées

Nom Description
CMFCButton::OnDraw Appelé par l’infrastructure pour dessiner un bouton.
CMFCButton::OnDrawBorder Appelé par l’infrastructure pour dessiner la bordure d’un bouton.
CMFCButton::OnDrawFocusRect Appelé par l’infrastructure pour dessiner le rectangle de focus d’un bouton.
CMFCButton::OnDrawText Appelé par l’infrastructure pour dessiner le texte du bouton.
CMFCButton::OnFillBackground Appelé par l’infrastructure pour dessiner l’arrière-plan du texte du bouton.
CMFCButton::SelectFont Récupère la police associée au contexte d’appareil spécifié.

Données membres

Nom Description
CMFCButton::m_nAlignStyle Spécifie l’alignement du texte du bouton.
CMFCButton::m_bDontUseWinXPTheme Spécifie s’il faut utiliser des thèmes Windows XP.
CMFCButton::m_bDrawFocus Indique s’il faut dessiner un rectangle de focus autour d’un bouton.
CMFCButton::m_nFlatStyle Spécifie le style du bouton, tel que borderless, flat, semi-plat ou 3D.
CMFCButton::m_bGrayDisabled Lorsque la valeur est TRUE, permet à un bouton désactivé d’être dessiné comme grisé.
CMFCButton::m_bHighlightChecked Indique s’il faut mettre en surbrillance un bouton de style BS_CHECKo OX lorsque le curseur pointe dessus.
CMFCButton::m_bResponseOnButtonDown Indique s’il faut répondre aux événements de bouton vers le bas.
CMFCButton::m_bRightImage Indique s’il faut afficher une image sur le côté droit du bouton.
CMFCButton::m_bTopImage Indique si l’image se trouve en haut du bouton.
CMFCButton::m_bTransparent Indique si le bouton est transparent.
CMFCButton::m_bWasDblClk Indique si l’événement de dernier clic était un double-clic.

Notes

D’autres types de boutons sont dérivés de la CMFCButton classe, comme la CMFCURLLinkButton classe, qui prend en charge les liens hypertexte et la CMFCColorButton classe, qui prend en charge une boîte de dialogue sélecteur de couleurs.

Le style d’un CMFCButton objet peut être 3D, semi-flatflatou no border. Le texte du bouton peut être aligné à gauche, en haut ou au centre d’un bouton. Au moment de l’exécution, vous pouvez contrôler si le bouton affiche du texte, une image ou du texte et une image. Vous pouvez également spécifier qu’une image de curseur particulière doit être affichée lorsque le curseur pointe sur un bouton.

Créez un contrôle bouton directement dans votre code, ou à l’aide de l’outil Assistant Classe MFC et d’un modèle de boîte de dialogue. Si vous créez un contrôle bouton directement, ajoutez une CMFCButton variable à votre application, puis appelez le constructeur et Create les méthodes de l’objet CMFCButton . Si vous utilisez l’Assistant Classe MFC, ajoutez une CButton variable à votre application, puis remplacez le type de la variable CButton par CMFCButton.

Pour gérer les messages de notification dans une application de boîte de dialogue, ajoutez une entrée de mappage de messages et un gestionnaire d’événements pour chaque notification. Les notifications envoyées par un CMFCButton objet sont les mêmes que celles envoyées par un CButton objet.

Exemple

L’exemple suivant montre comment configurer les propriétés du bouton à l’aide de différentes méthodes dans la CMFCButton classe. L’exemple fait partie de l’exemple New Controls.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}
// int m_iImage
if (m_iImage == 0)
{
   m_Button.SetWindowText(_T(""));
}
else
{
   m_Button.SetWindowText(_T("Button"));
}
// Resize the button.
m_Button.SizeToContent();
m_Button.EnableFullTextTooltip(true);
// Use the application menu font at the button text font.
m_Button.EnableMenuFont();
// Use the current Windows theme to draw the button borders.
m_Button.EnableWindowsTheming(true);
// Set the button to auto-repeat mode.
m_Button.SetAutorepeatMode();
// Set the background color for the button text.
m_Button.SetFaceColor(RGB(255,0,0),true);
m_Button.SetTextColor(RGB(0,0,255));
// Set the tooltip of the button.
m_Button.SetTooltip(_T("this is a button!"));

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Spécifications

En-têteafxbutton.h:

CMFCButton::CleanUp

Réinitialise les variables internes et libère les ressources allouées telles que les images, les bitmaps et les icônes.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Spécifie s’il faut afficher le texte intégral d’une info-bulle dans une fenêtre d’info-bulle volumineuse ou une version tronquée du texte dans une petite fenêtre d’info-bulle.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Paramètres

bOn
[in] TRUE pour afficher tout le texte ; FALSE pour afficher le texte tronqué.

Notes

CMFCButton::EnableMenuFont

Spécifie si la police de texte du bouton est identique à la police de menu de l’application.

void EnableMenuFont(
    BOOL bOn=TRUE,
    BOOL bRedraw=TRUE);

Paramètres

bOn
[in] TRUE pour utiliser la police de menu de l’application comme police de texte du bouton ; FALSE pour utiliser la police système. Par défaut, il s’agit de TRUE.

bRedraw
[in] TRUE pour redessiner immédiatement l’écran ; sinon, FALSE. Par défaut, il s’agit de TRUE.

Notes

Si vous n’utilisez pas cette méthode pour spécifier la police de texte du bouton, vous pouvez spécifier la police avec la CWnd::SetFont méthode. Si vous ne spécifiez pas de police du tout, l’infrastructure définit une police par défaut.

CMFCButton::EnableWindowsTheming

Spécifie si le style de la bordure du bouton correspond au thème Windows actuel.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Paramètres

bEnable
[in] TRUE pour utiliser le thème Windows actuel pour dessiner des bordures de bouton ; FALSE pour ne pas utiliser le thème Windows. Par défaut, il s’agit de TRUE.

Notes

Cette méthode affecte tous les boutons de votre application dérivés de la CMFCButton classe.

CMFCButton::GetToolTipCtrl

Retourne une référence au contrôle d’info-bulle sous-jacent.

CToolTipCtrl& GetToolTipCtrl();

Valeur de retour

Référence au contrôle d’info-bulle sous-jacent.

Notes

CMFCButton::IsAutoCheck

Indique si une case case activée ou une case d’option est un bouton automatique.

BOOL IsAutoCheck() const;

Valeur de retour

TRUE si le bouton a un style BS_AUTOCHECKBOX ou BS_AUTORADIOBUTTON; sinon, FALSE.

Notes

CMFCButton::IsAutorepeatCommandMode

Indique si un bouton est défini sur le mode de répétition automatique.

BOOL IsAutorepeatCommandMode() const;

Valeur de retour

TRUE si le bouton est défini sur le mode de répétition automatique ; sinon, FALSE.

Notes

Utilisez la CMFCButton::SetAutorepeatMode méthode pour définir un bouton en mode de répétition automatique.

CMFCButton::IsCheckBox

Indique si un bouton est un bouton case activée zone.

BOOL IsCheckBox() const;

Valeur de retour

TRUE si le bouton a un BS_CHECKBOX ou un BS_AUTOCHECKBOX style ; sinon, FALSE.

Notes

CMFCButton::IsChecked

Indique si le bouton actif est case activée ed.

BOOL IsChecked() const;

Valeur de retour

TRUEsi le bouton actif est case activée ed ; sinon, FALSE.

Notes

L’infrastructure utilise différentes façons d’indiquer que différents types de boutons sont case activée. Par exemple, une case d’option est case activée ed lorsqu’elle contient un point ; une zone de case activée est case activée ed lorsqu’elle contient un X.

CMFCButton::IsHighlighted

Indique si un bouton est mis en surbrillance.

BOOL IsHighlighted() const;

Valeur de retour

TRUE si le bouton est mis en surbrillance ; sinon, FALSE.

Notes

Un bouton devient mis en surbrillance lorsque la souris pointe sur le bouton.

CMFCButton::IsPressed

Indique si un bouton est poussé et mis en surbrillance.

BOOL IsPressed() const;

Valeur de retour

TRUE si le bouton est enfoncé ; sinon, FALSE.

Notes

CMFCButton::IsPushed

Indique si un bouton est poussé.

BOOL IsPushed() const;

Valeur de retour

TRUE si le bouton est poussé ; sinon, FALSE.

Notes

CMFCButton::IsRadioButton

Indique si un bouton est une case d’option.

BOOL IsRadioButton() const;

Valeur de retour

TRUE si le style de bouton est BS_RADIOBUTTON ou BS_AUTORADIOBUTTON; sinon, FALSE.

Notes

CMFCButton::IsWindowsThemingEnabled

Indique si le style de la bordure du bouton correspond au thème Windows actuel.

static BOOL IsWindowsThemingEnabled();

Valeur de retour

TRUE si le style de la bordure du bouton correspond au thème Windows actuel ; sinon, FALSE.

CMFCButton::m_bDontUseWinXPTheme

Spécifie s’il faut utiliser des thèmes Windows XP lors du dessin du bouton.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Indique s’il faut dessiner un rectangle de focus autour d’un bouton.

BOOL m_bDrawFocus;

Notes

Définissez le m_bDrawFocus membre pour TRUE spécifier que l’infrastructure dessine un rectangle de focus autour du texte et de l’image du bouton si le bouton reçoit le focus.

Le CMFCButton constructeur initialise ce membre sur TRUE.

CMFCButton::m_bGrayDisabled

Lorsque TRUE, permet à un bouton désactivé d’être dessiné comme grisé.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Indique s’il faut mettre en surbrillance un BS_CHECKBOXbouton -style lorsque le curseur pointe dessus.

BOOL m_bHighlightChecked;

Notes

Définissez le m_bHighlightChecked membre pour TRUE spécifier que l’infrastructure met en surbrillance un BS_CHECKBOXbouton -style lorsque la souris pointe dessus.

CMFCButton::m_bResponseOnButtonDown

Indique s’il faut répondre aux événements de bouton vers le bas.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Indique s’il faut afficher une image sur le côté droit du bouton.

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Indique si l’image se trouve en haut du bouton.

BOOL m_bTopImage;

Notes

Définissez le m_bRightImage membre pour TRUE spécifier que l’infrastructure affiche l’image du bouton à droite de l’étiquette de texte du bouton.

CMFCButton::m_bTransparent

Indique si le bouton est transparent.

BOOL m_bTransparent;

Notes

Définissez le m_bTransparent membre pour TRUE spécifier que l’infrastructure rend le bouton transparent. Le CMFCButton constructeur initialise ce membre sur FALSE.

CMFCButton::m_nAlignStyle

Spécifie l’alignement du texte du bouton.

AlignStyle m_nAlignStyle;

Notes

Utilisez l’une des valeurs d’énumération suivantes CMFCButton::AlignStyle pour spécifier l’alignement du texte du bouton :

Value Description
ALIGN_CENTER (Par défaut) Aligne le texte du bouton au centre du bouton.
ALIGN_LEFT Aligne le texte du bouton sur le côté gauche du bouton.
ALIGN_RIGHT Aligne le texte du bouton sur le côté droit du bouton.

Le CMFCButton constructeur initialise ce membre sur ALIGN_CENTER.

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Indique si le dernier événement click était un double-clic.|

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Spécifie le style du bouton, tel que borderless, flat, semi-plat ou 3D.

FlatStyle  m_nFlatStyle;

Notes

Le tableau suivant répertorie les CMFCButton::m_nFlatStyle valeurs d’énumération qui spécifient l’apparence d’un bouton.

Value Description
BUTTONSTYLE_3D (Par défaut) Le bouton semble avoir des côtés hauts et tridimensionnels. Lorsque le bouton est cliqué, le bouton apparaît enfoncé dans une mise en retrait profonde.
BUTTONSTYLE_FLAT Lorsque la souris ne s’interrompt pas sur le bouton, le bouton semble être à deux dimensions et n’a pas de côtés levés. Lorsque la souris s’interrompt sur le bouton, le bouton semble avoir des côtés bas et tridimensionnels. Lorsque le bouton est cliqué, le bouton apparaît enfoncé dans une mise en retrait superficielle.
BUTTONSTYLE_SEMIFLAT Le bouton semble avoir des côtés bas et tridimensionnels. Lorsque le bouton est cliqué, le bouton apparaît enfoncé dans une mise en retrait profonde.
BUTTONSTYLE_NOBORDERS Le bouton n’a pas de côtés élevés et apparaît toujours en deux dimensions. Le bouton n’apparaît pas enfoncé dans une mise en retrait lorsqu’il est cliqué.

Le CMFCButton constructeur initialise ce membre sur BUTTONSTYLE_3D.

Exemple

L’exemple suivant montre comment définir les valeurs de la m_nFlatStyle variable membre dans la CMFCButton classe. Cet exemple fait partie de l’exemple New Controls.

CMFCButton m_Button;
//int m_iBorderStyle
switch (m_iBorderStyle)
{
case 0:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
   break;

case 1:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_SEMIFLAT;
   break;

case 2:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_3D;
}

CMFCButton::OnDraw

Appelé par l’infrastructure pour dessiner un bouton.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

rect
[in] Référence à un rectangle qui limite le bouton.

uiState
[in] État actuel du bouton. Pour plus d’informations, consultez le itemState membre de la DRAWITEMSTRUCT rubrique Structure .

Notes

Remplacez cette méthode pour utiliser votre propre code pour dessiner un bouton.

CMFCButton::OnDrawBorder

Appelé par l’infrastructure pour dessiner la bordure d’un bouton.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

rectClient
[in] Référence à un rectangle qui limite le bouton.

uiState
[in] État actuel du bouton. Pour plus d’informations, consultez le itemState membre de la DRAWITEMSTRUCT rubrique Structure .

Notes

Remplacez cette méthode pour utiliser votre propre code pour dessiner la bordure.

CMFCButton::OnDrawFocusRect

Appelé par l’infrastructure pour dessiner le rectangle de focus d’un bouton.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

rectClient
[in] Référence à un rectangle qui limite le bouton.

Notes

Remplacez cette méthode pour utiliser votre propre code pour dessiner le rectangle de focus.

CMFCButton::OnDrawText

Appelé par l’infrastructure pour dessiner le texte du bouton.

virtual void OnDrawText(
    CDC* pDC,
    const CRect& rect,
    const CString& strText,
    UINT uiDTFlags,
    UINT uiState);

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

rect
[in] Référence à un rectangle qui limite le bouton.

strText
[in] Texte à dessiner.

uiDTFlags
[in] Indicateurs qui spécifient comment mettre en forme le texte. Pour plus d’informations, consultez le nFormat paramètre de la CDC::DrawText méthode.

uiState
[in] Réservée.

Notes

Remplacez cette méthode pour utiliser votre propre code pour dessiner le texte du bouton.

CMFCButton::OnFillBackground

Appelé par l’infrastructure pour dessiner l’arrière-plan du texte du bouton.

virtual void OnFillBackground(
    CDC* pDC,
    const CRect& rectClient);

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

rectClient
[in] Référence à un rectangle qui limite le bouton.

Notes

Remplacez cette méthode pour utiliser votre propre code pour dessiner l’arrière-plan d’un bouton.

CMFCButton::SelectFont

Récupère la police associée au contexte d’appareil spécifié.

virtual CFont* SelectFont(CDC* pDC);

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

Valeur de retour

Remplacez cette méthode pour utiliser votre propre code pour récupérer la police.

Notes

CMFCButton::SetAutorepeatMode

Définit un bouton sur le mode de répétition automatique.

void SetAutorepeatMode(int nTimeDelay=500);

Paramètres

nTimeDelay
[in] Nombre non négatif qui spécifie l’intervalle entre les messages envoyés à la fenêtre parente. L’intervalle est mesuré en millisecondes et sa valeur par défaut est de 500 millisecondes. Spécifiez zéro pour désactiver le mode de répétition automatique des messages.

Notes

Cette méthode entraîne l’envoi WM_COMMAND constant de messages à la fenêtre parente jusqu’à ce que le bouton soit libéré ou que le nTimeDelay paramètre soit défini sur zéro.

CMFCButton::SetCheckedImage

Définit l’image d’un bouton case activée ed.

void SetCheckedImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetCheckedImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetCheckedImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Paramètres

hIcon
[in] Gérez l’icône qui contient la bitmap et le masque de la nouvelle image.

bAutoDestroy
[in] TRUE pour spécifier que les ressources bitmap doivent être détruites automatiquement ; sinon, FALSE. Par défaut, il s’agit de TRUE.

hIconHot
[in] Gérez l’icône qui contient l’image pour l’état sélectionné.

hBitmap
[in] Gérez la bitmap qui contient l’image pour l’état non sélectionné.

hBitmapHot
[in] Gérez la bitmap qui contient l’image pour l’état sélectionné.

bMap3dColors
[in] Spécifie une couleur transparente pour l’arrière-plan du bouton ; c’est-à-dire le visage du bouton. TRUE pour utiliser la valeur de couleur RVB(192, 192, 192) ; FALSE pour utiliser la valeur de couleur définie par AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] ID de ressource de l’image non sélectionnée.

uiBmpHotResId
[in] ID de ressource de l’image sélectionnée.

hIconDisabled
[in] Gérez l’icône de l’image désactivée.

hBitmapDisabled
[in] Gérez l’image bitmap qui contient l’image désactivée.

uiBmpDsblResID
[in] ID de ressource de la bitmap désactivée.

bAlphaBlend
[in] TRUE pour utiliser uniquement des images 32 bits qui utilisent le canal alpha ; FALSE, pour ne pas utiliser uniquement les images de canal alpha. Par défaut, il s’agit de FALSE.

Notes

CMFCButton::SetFaceColor

Définit la couleur d’arrière-plan du texte du bouton.

void SetFaceColor(
    COLORREF crFace,
    BOOL bRedraw=TRUE);

Paramètres

crFace
[in] Valeur de couleur RVB.

bRedraw
[in] TRUE pour redessiner immédiatement l’écran ; sinon, FALSE.

Notes

Utilisez cette méthode pour définir une nouvelle couleur de remplissage pour l’arrière-plan du bouton (visage). Notez que l’arrière-plan n’est pas rempli lorsque la CMFCButton::m_bTransparent variable membre est TRUE.

CMFCButton ::SetImage

Définit l’image d’un bouton.

void SetImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Paramètres

hIcon
[in] Gérez l’icône qui contient la bitmap et le masque de la nouvelle image.

bAutoDestroy
[in] TRUE pour spécifier que les ressources bitmap doivent être détruites automatiquement ; sinon, FALSE. Par défaut, il s’agit de TRUE.

hIconHot
[in] Gérez l’icône qui contient l’image pour l’état sélectionné.

hBitmap
[in] Gérez la bitmap qui contient l’image pour l’état non sélectionné.

hBitmapHot
[in] Gérez la bitmap qui contient l’image pour l’état sélectionné.

uiBmpResId
[in] ID de ressource de l’image non sélectionnée.

uiBmpHotResId
[in] ID de ressource de l’image sélectionnée.

bMap3dColors
[in] Spécifie une couleur transparente pour l’arrière-plan du bouton ; c’est-à-dire le visage du bouton. TRUE pour utiliser la valeur de couleur RVB(192, 192, 192) ; FALSE pour utiliser la valeur de couleur définie par AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Gérez l’icône de l’image désactivée.

hBitmapDisabled
[in] Gérez l’image bitmap qui contient l’image désactivée.

uiBmpDsblResID
[in] ID de ressource de la bitmap désactivée.

bAlphaBlend
[in] TRUE pour utiliser uniquement des images 32 bits qui utilisent le canal alpha ; FALSE, pour ne pas utiliser uniquement les images de canal alpha. Par défaut, il s’agit de FALSE.

Notes

Exemple

L’exemple suivant montre comment utiliser différentes versions de la SetImage méthode dans la CMFCButton classe. L’exemple fait partie de l’exemple New Controls.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}

CMFCButton::SetMouseCursor

Définit l’image du curseur.

void SetMouseCursor(HCURSOR hcursor);

Paramètres

hcursor
[in] Handle d’un curseur.

Notes

Utilisez cette méthode pour associer une image de curseur, telle que le curseur de la main, au bouton. Le curseur est chargé à partir des ressources de l’application.

Exemple

L’exemple suivant montre comment utiliser la SetMouseCursor méthode dans la CMFCButton classe. L’exemple fait partie du code de l’exemple New Controls.

CMFCButton m_Button;
// int m_iCursor
void CPage1::OnSetCursor()
{
   UpdateData();

   switch (m_iCursor)
   {
   case 0:
      m_Button.SetMouseCursor(NULL);
      break;

   case 1:
      m_Button.SetMouseCursorHand();
      break;

   case 2:
      m_Button.SetMouseCursor(AfxGetApp()->LoadCursor(IDC_CURSOR));
      break;
   }
}

CMFCButton::SetMouseCursorHand

Définit le curseur sur l’image d’une main.

void SetMouseCursorHand();

Notes

Utilisez cette méthode pour associer l’image de curseur d’une main au bouton. Le curseur est chargé à partir des ressources de l’application.

CMFCButton::SetStdImage

Utilise un CMenuImages objet pour définir l’image du bouton.

void SetStdImage(
    CMenuImages::IMAGES_IDS id,
    CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
    CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);

Paramètres

id
[in] Un des identificateurs d’image de bouton définis dans l’énumération CMenuImage::IMAGES_IDS . Les valeurs d’image spécifient des images telles que des flèches, des broches et des cases d’option.

state
[in] Un des identificateurs d’état d’image de bouton définis dans l’énumération CMenuImages::IMAGE_STATE . Les états d’image spécifient des couleurs de bouton telles que le noir, le gris gris clair, le blanc et le gris foncé. La valeur par défaut est CMenuImages::ImageBlack.

idDisabled
[in] Un des identificateurs d’image de bouton définis dans l’énumération CMenuImage::IMAGES_IDS . L’image indique que le bouton est désactivé. La valeur par défaut est la première image de bouton ( CMenuImages::IdArrowDown).

Notes

CMFCButton::SetTextColor

Définit la couleur du texte du bouton pour un bouton qui n’est pas sélectionné.

void SetTextColor(COLORREF clrText);

Paramètres

clrText
[in] Valeur de couleur RVB.

Notes

CMFCButton::SetTextHotColor

Définit la couleur du texte du bouton pour un bouton sélectionné.

void SetTextHotColor(COLORREF clrTextHot);

Paramètres

clrTextHot
[in] Valeur de couleur RVB.

Notes

CMFCButton::SetTooltip

Associe une info-bulle à un bouton.

void SetTooltip(LPCTSTR lpszToolTipText);

Paramètres

lpszToolTipText
[in] Pointeur vers le texte de l’info-bulle. Spécifiez NULL pour désactiver l’info-bulle.

Notes

CMFCButton::SizeToContent

Redimensionne un bouton pour contenir son texte et son image de bouton.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Paramètres

bCalcOnly
[in] TRUE pour calculer, mais pas modifier, la nouvelle taille du bouton ; FALSE pour modifier la taille du bouton. Par défaut, il s’agit de FALSE.

Valeur de retour

Objet CSize qui contient la nouvelle taille du bouton.

Notes

Par défaut, cette méthode calcule une nouvelle taille qui inclut une marge horizontale de 10 pixels et une marge verticale de 5 pixels.

Voir aussi

Graphique hiérarchique
Classes
CMFCLinkCtrl Classe
CMFCColorButton Classe
CMFCMenuButton Classe