Styles des boutons

Spécifie une combinaison de styles de bouton. Si vous créez un bouton à l’aide de la classe BUTTON avec la fonction CreateWindow ou CreateWindowEx, vous pouvez spécifier l’un des styles de bouton répertoriés ci-dessous.

Exemple

HRESULT Button::CreateText(HWND hParent, const TCHAR *szCaption, int nID, 
                               const Rect& rcBound)
{
    CREATESTRUCT create;
	ZeroMemory(&create, sizeof(CREATESTRUCT));

    create.x = rcBound.left;
    create.y = rcBound.top;
    create.cx = rcBound.right - create.x;
    create.cy = rcBound.bottom - create.y;

    create.hwndParent = hParent;
    create.lpszName = szCaption;
    create.hMenu = (HMENU)(INT_PTR)nID;
    create.lpszClass = TEXT("BUTTON");
    create.style = BS_PUSHBUTTON | BS_FLAT;
    return Control::Create(create);
}

Exemple de Windows exemples classiques sur GitHub.

Constantes

Constant Description
BS_3STATE
Crée un bouton identique à une case à cocher, sauf que la zone peut être grisée, ainsi que activée ou désactivée. Utilisez l’état grisé pour indiquer que l’état de la case à cocher n’est pas déterminé.
BS_AUTO3STATE
Crée un bouton identique à une case à cocher à trois états, sauf que la case change son état lorsque l’utilisateur le sélectionne. L’état passe par les cycles vérifiés, indéterminés et effacés.
BS_AUTOCHECKBOX
Crée un bouton identique à une case à cocher, sauf que l’état de vérification bascule automatiquement entre activé et désactivé chaque fois que l’utilisateur sélectionne la case à cocher.
BS_AUTORADIOBUTTON
Crée un bouton identique à celui d’une case d’option, sauf que lorsque l’utilisateur le sélectionne, le système définit automatiquement l’état de vérification du bouton à cocher et définit automatiquement l’état de vérification pour tous les autres boutons du même groupe à effacer.
BS_BITMAP
Spécifie que le bouton affiche une bitmap. Consultez la section Remarques pour son interaction avec BS_ICON.
BS_BOTTOM
Place le texte en bas du rectangle du bouton.
BS_CENTER
Centre le texte horizontalement dans le rectangle du bouton.
BS_CHECKBOX
Crée une petite case à cocher vide avec du texte. Par défaut, le texte s’affiche à droite de la case à cocher. Pour afficher le texte à gauche de la case à cocher, combinez cet indicateur avec le style BS_LEFTTEXT (ou avec le style BS_RIGHTBUTTON équivalent).
BS_COMMANDLINK
Crée un bouton de lien de commande qui se comporte comme un bouton de style BS_PUSHBUTTON, mais le bouton du lien de commande a une flèche verte sur la gauche pointant vers le texte du bouton. Une légende pour le texte du bouton peut être définie en envoyant le message BCM_SETNOTE au bouton.
BS_DEFCOMMANDLINK
Crée un bouton de lien de commande qui se comporte comme un bouton de style BS_PUSHBUTTON. Si le bouton se trouve dans une boîte de dialogue, l’utilisateur peut sélectionner le bouton de lien de commande en appuyant sur la touche Entrée, même lorsque le bouton lien de commande n’a pas le focus d’entrée. Ce style est utile pour permettre à l’utilisateur de sélectionner rapidement l’option la plus probable (par défaut).
BS_DEFPUSHBUTTON
Crée un bouton push qui se comporte comme un bouton de style BS_PUSHBUTTON, mais qui a une apparence distincte. Si le bouton se trouve dans une boîte de dialogue, l’utilisateur peut sélectionner le bouton en appuyant sur la touche Entrée, même si le bouton n’a pas le focus d’entrée. Ce style est utile pour permettre à l’utilisateur de sélectionner rapidement l’option la plus probable (par défaut).
BS_DEFSPLITBUTTON
Crée un bouton fractionné qui se comporte comme un bouton de style BS_PUSHBUTTON, mais a également une apparence distincte. Si le bouton fractionné se trouve dans une boîte de dialogue, l’utilisateur peut sélectionner le bouton fractionné en appuyant sur la touche Entrée, même lorsque le bouton fractionné n’a pas le focus d’entrée. Ce style est utile pour permettre à l’utilisateur de sélectionner rapidement l’option la plus probable (par défaut).
BS_GROUPBOX
Crée un rectangle dans lequel d’autres contrôles peuvent être regroupés. Tout texte associé à ce style s’affiche dans le coin supérieur gauche du rectangle.
BS_ICON
Spécifie que le bouton affiche une icône. Consultez la section Remarques pour son interaction avec BS_BITMAP.
BS_FLAT
Spécifie que le bouton est à deux dimensions ; il n’utilise pas l’ombrage par défaut pour créer une image 3D.
BS_LEFT
Justifie à gauche le texte dans le rectangle du bouton. Toutefois, si le bouton est une case à cocher ou une case d’option qui n’a pas le style BS_RIGHTBUTTON, le texte est justifié à gauche sur le côté droit de la case à cocher ou sur la case d’option.
BS_LEFTTEXT
Place le texte sur le côté gauche de la case d’option ou de la case à cocher lorsqu’il est combiné à une case d’option ou à un style de case à cocher. Identique au style BS_RIGHTBUTTON.
BS_MULTILINE
Encapsule le texte du bouton sur plusieurs lignes si la chaîne de texte est trop longue pour s’adapter à une seule ligne dans le rectangle du bouton.
BS_NOTIFY
Permet à un bouton d’envoyer des codes de notification BN_KILLFOCUS et BN_SETFOCUS à sa fenêtre parente.
Notez que les boutons envoient le code de notification BN_CLICKED , qu’ils soient dotés de ce style. Pour obtenir BN_DBLCLK codes de notification, le bouton doit avoir le style BS_RADIOBUTTON ou BS_OWNERDRAW.
BS_OWNERDRAW
Crée un bouton dessiné par le propriétaire. La fenêtre propriétaire reçoit un message WM_DRAWITEM lorsqu’un aspect visuel du bouton a changé. Ne combinez pas le style BS_OWNERDRAW avec d’autres styles de bouton.
BS_PUSHBUTTON
Crée un bouton push qui publie un message WM_COMMAND dans la fenêtre propriétaire lorsque l’utilisateur sélectionne le bouton.
BS_PUSHLIKE
Crée un bouton (tel qu’une case à cocher, une case à cocher à trois états ou une case d’option) et agit comme un bouton push. Le bouton semble déclenché lorsqu’il n’est pas poussé ou vérifié, et enfoncé lorsqu’il est poussé ou vérifié.
BS_RADIOBUTTON
Crée un petit cercle avec du texte. Par défaut, le texte s’affiche à droite du cercle. Pour afficher le texte à gauche du cercle, combinez cet indicateur avec le style BS_LEFTTEXT (ou avec le style BS_RIGHTBUTTON équivalent). Utilisez des cases d’option pour les groupes de groupes associés, mais mutuellement exclusifs.
BS_RIGHT
Justifie le texte droit dans le rectangle du bouton. Toutefois, si le bouton est une case à cocher ou une case d’option qui n’a pas le style BS_RIGHTBUTTON, le texte est justifié sur le côté droit de la case à cocher ou sur la case d’option.
BS_RIGHTBUTTON
Positionne le cercle d’une case d’option ou le carré d’une case à cocher sur le côté droit du rectangle du bouton. Identique au style BS_LEFTTEXT.
BS_SPLITBUTTON
Crée un bouton fractionné. Un bouton fractionné a une flèche déroulante.
BS_TEXT
Spécifie que le bouton affiche du texte.
BS_TOP
Place le texte en haut du rectangle du bouton.
BS_TYPEMASK
N’utilisez pas ce style. Bit de style composite qui résulte de l’utilisation de l’opérateur OR sur BS_* bits de style. Il peut être utilisé pour masquer les bits BS_* valides à partir d’un masque de bits donné. Notez que cela est obsolète et n’inclut pas correctement tous les styles valides. Ainsi, vous ne devez pas utiliser ce style.
BS_USERBUTTON
Obsolète, mais fourni pour la compatibilité avec les versions 16 bits de Windows. Les applications doivent utiliser BS_OWNERDRAW à la place.
BS_VCENTER
Place le texte au milieu (verticalement) du rectangle du bouton.

Notes

Pour obtenir des illustrations des styles de bouton principal tels que BS_CHECKBOX et BS_GROUPBOX, consultez Types de boutons.

L’apparence du texte ou d’une icône ou des deux sur un contrôle de bouton dépend des styles BS_ICON et BS_BITMAP, et si le message BM_SETIMAGE est envoyé. Les résultats possibles sont les suivants.

BS_ICON ou BS_BITMAP défini ? BM_SETIMAGE appelé ? Résultats
Oui Oui Afficher l’icône uniquement.
Non Oui Afficher l’icône et le texte.
Oui Non Afficher le texte uniquement.
Non Non Afficher le texte uniquement

Configuration requise

Condition requise Valeur
En-tête
Winuser.h