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);
}

Exemples classiques Windows sur GitHub.

Constantes

Constante Description
BS_3STATE
Crée un bouton identique à une zone de case activée, à ceci près que la zone peut être grisée, cochée ou désactivée. Utilisez l’état grisé pour indiquer que l’état de la zone case activée n’est pas déterminé.
BS_AUTO3STATE
Crée un bouton identique à une zone de case activée à trois états, sauf que la zone change d’état lorsque l’utilisateur la sélectionne. L’état est activé, indéterminé et effacé.
BS_AUTOCHECKBOX
Crée un bouton identique à une zone de case activée, à ceci près que l’état case activée bascule automatiquement entre activé et désactivé chaque fois que l’utilisateur sélectionne la zone de case activée.
BS_AUTORADIOBUTTON
Crée un bouton identique à une case d’option, sauf que lorsque l’utilisateur le sélectionne, le système définit automatiquement l’état case activée du bouton sur activé et définit automatiquement l’état case activée de 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 de bouton.
BS_CENTER
Centre le texte horizontalement dans le rectangle du bouton.
BS_CHECKBOX
Crée une petite zone de case activée vide avec du texte. Par défaut, le texte s’affiche à droite de la zone case activée. Pour afficher le texte à gauche de la zone case activée, combinez cet indicateur avec le style BS_LEFTTEXT (ou avec le style de 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 de 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 de 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 pousseur 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 le sélectionner en appuyant sur la touche Entrée, même lorsque 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 qui a également une apparence distincte. Si le bouton fractionner se trouve dans une boîte de dialogue, l’utilisateur peut sélectionner le bouton fractionner en appuyant sur la touche ENTRÉE, même lorsque le bouton fractionner 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 ; elle n’utilise pas l’ombrage par défaut pour créer une image 3D.
BS_LEFT
Justifie à gauche le texte dans le rectangle de bouton. Toutefois, si le bouton est une case d’case activée 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 d’case activée ou de la case d’option.
BS_LEFTTEXT
Place le texte sur le côté gauche de la case d’option ou de case activée zone lorsqu’il est combiné avec un style de case d’option ou de case activée. 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 tenir sur une seule ligne dans le rectangle du bouton.
BS_NOTIFY
Active un bouton pour envoyer BN_KILLFOCUS et BN_SETFOCUS codes de notification à sa fenêtre parente.
Notez que les boutons envoient le code de notification BN_CLICKED , qu’il ait ou non 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 pousseur qui publie un message WM_COMMAND dans la fenêtre propriétaire lorsque l’utilisateur sélectionne le bouton.
BS_PUSHLIKE
Permet à un bouton (tel qu’une zone de case activée, une zone de case activée à trois états ou une case d’option) de ressembler à un bouton-pousseur. Le bouton semble déclenché lorsqu’il n’est pas poussé ou activé, et enfoncé lorsqu’il est poussé ou activé.
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 des groupes de choix connexes, mais mutuellement exclusifs.
BS_RIGHT
Justifie à droite le texte dans le rectangle de bouton. Toutefois, si le bouton est une zone de case activée ou une case d’option qui n’a pas le style BS_RIGHTBUTTON, le texte est justifié à droite sur le côté droit de la zone de case activée ou de la case d’option.
BS_RIGHTBUTTON
Positionne le cercle d’une case d’option ou un carré de case activée sur le côté droit du rectangle de bouton. Identique au style BS_LEFTTEXT.
BS_SPLITBUTTON
Crée un bouton fractionné. Un bouton fractionné a une flèche déroulante vers le bas.
BS_TEXT
Spécifie que le bouton affiche du texte.
BS_TOP
Place le texte en haut du rectangle de bouton.
BS_TYPEMASK
N’utilisez pas ce style. Bit de style composite qui résulte de l’utilisation de l’opérateur OR sur les bits de style BS_*. Il peut être utilisé pour masquer les bits BS_* valides d’un masque de bits donné. Notez qu’il est obsolète et qu’il n’inclut pas correctement tous les styles valides. Par conséquent, 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 de 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 bouton dépend des styles BS_ICON et BS_BITMAP, et de l’envoi ou non du message BM_SETIMAGE . 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

Spécifications

Condition requise Valeur
En-tête
Winuser.h