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 à cocher 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 à cocher. |
CMFCButton::IsChecked |
Indique si le bouton actif est activé. |
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 activé. |
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_CHECKBOX 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-flat
flat
ou 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
Spécifications
En-tête : afxbutton.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 à cocher 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 à cocher.
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 activé.
BOOL IsChecked() const;
Valeur de retour
TRUE
si le bouton actif est activé ; sinon, FALSE
.
Notes
L’infrastructure utilise différentes façons d’indiquer que différents types de boutons sont vérifiés. Par exemple, une case d’option est cochée lorsqu’elle contient un point ; une case à cocher est cochée 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_CHECKBOX
bouton -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_CHECKBOX
bouton -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 :
Valeur | 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.
Valeur | 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 activé.
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