Types de boutons

Il existe plusieurs types de boutons et un ou plusieurs styles de boutons pour faire la distinction entre les boutons du même type.

Ce document traite des rubriques suivantes.

Types et styles de boutons

Un bouton appartient à un type et peut avoir des styles supplémentaires qui affectent son apparence et son comportement. Pour obtenir un tableau des styles de bouton, consultez Styles de bouton.

La capture d’écran suivante montre les différents types de boutons.

capture d’écran d’une boîte de dialogue montrant des exemples de huit types de boutons

La capture d’écran montre comment les boutons peuvent apparaître dans Windows Vista. L’apparence varie selon les versions du système d’exploitation et selon le thème défini par l’utilisateur.

Notez les points suivants concernant l’illustration :

  • La zone de case activée à trois états est affichée dans l’état indéterminé. Lorsqu’elle est cochée ou décochée, elle ressemble à une zone de case activée normale.
  • Le bouton push de grande taille a été défini sur l’état poussé par programmation (en envoyant le message BM_SETSTATE ), de sorte qu’il conserve son apparence même lorsque l’utilisateur ne clique pas dessus.
  • Dans le style visuel indiqué, l’arrière-plan du bouton pousseur par défaut (ou d’un autre bouton pousseur qui a le focus d’entrée) passe du bleu au gris.

Cases à cocher

Une zone case activée se compose d’une zone carrée et d’une étiquette, d’une icône ou d’une bitmap définie par l’application qui indique un choix que l’utilisateur peut effectuer en sélectionnant le bouton. Les applications affichent généralement case activée zones pour permettre à l’utilisateur de choisir une ou plusieurs options qui ne s’excluent pas mutuellement.

Une zone de case activée peut être l’un des quatre styles suivants : standard, automatique, trois états et trois états automatiques, tels que définis par les constantes BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATE et BS_AUTO3STATE, respectivement. Chaque style peut supposer deux états case activée : activé (une marque case activée à l’intérieur de la zone) ou effacé (aucune marque case activée). En outre, une zone de case activée à trois états peut supposer un état indéterminé (une zone ombrée à l’intérieur de la zone case activée), ce qui peut signifier que l’utilisateur n’a pas fait de choix. En cliquant à plusieurs reprises sur une case de case activée standard ou automatique, elle bascule de activé à désactivé, puis de retour arrière. En cliquant à plusieurs reprises sur une zone de case activée à trois états, elle bascule de activé à désactivé à indéterminé, puis répète le cycle.

Lorsque l’utilisateur clique sur une zone de case activée (de n’importe quel style), la zone case activée reçoit le focus clavier. Le système envoie à la fenêtre parente de la zone de case activée un message WM_COMMAND contenant le code de notification BN_CLICKED. La fenêtre parente n’a pas besoin de gérer ce message s’il provient d’une zone de case activée automatique ou d’une zone de case activée automatique à trois états, car le système définit automatiquement l’état case activée pour ces styles. Toutefois, la fenêtre parente doit gérer le message s’il provient d’une zone de case activée non automatique ou d’une zone de case activée à trois états, car la fenêtre parente est chargée de définir l’état case activée pour ces styles. Quel que soit le style de zone case activée, le système repeint automatiquement la zone case activée une fois son état modifié.

L’application peut déterminer l’état d’une zone de case activée à l’aide de la fonction IsDlgButtonChecked.

Zones de groupe

Une zone de groupe est un rectangle qui entoure un ensemble de contrôles, tels que des zones case activée ou des cases d’option, avec une étiquette de texte définie par l’application dans son coin supérieur gauche. Le seul objectif d’une zone de groupe est d’organiser les contrôles liés par un objectif commun (généralement indiqué par l’étiquette). La zone de groupe n’a qu’un seul style, défini par la constante BS_GROUPBOX. Étant donné qu’une zone de groupe ne peut pas être sélectionnée, elle n’a pas d’état case activée, d’état de focus ou d’état Push.

Boutons-poussoirs

Un bouton pousseur est un rectangle contenant une étiquette de texte définie par l’application, une icône ou une bitmap qui indique ce que fait le bouton lorsque l’utilisateur le sélectionne.

Un bouton pousseur peut être l’un des deux styles, standard ou par défaut, tels que définis par les constantes BS_PUSHBUTTON et BS_DEFPUSHBUTTON. Un bouton pousseur standard est généralement utilisé pour démarrer une opération. Il reçoit le focus clavier lorsque l’utilisateur clique dessus. Un bouton pousseur par défaut est généralement utilisé pour indiquer le choix le plus courant ou par défaut, comme la fermeture de la boîte de dialogue. Il s’agit d’un bouton que l’utilisateur peut sélectionner en appuyant simplement sur Entrée lorsqu’aucun autre bouton d’appui de la boîte de dialogue n’a le focus d’entrée.

Lorsque l’utilisateur clique sur un bouton pousseur, il reçoit le focus clavier. Le système envoie à la fenêtre parente du bouton un message WM_COMMAND contenant le code de notification BN_CLICKED .

Le bouton fractionné est un type spécial de bouton pousseur introduit dans Windows Vista et la version 6.00. Un bouton fractionné est divisé en deux parties. La partie main fonctionne comme un bouton push standard ou par défaut. La deuxième partie a une flèche pointant vers le bas. En règle générale, un menu s’affiche lorsque l’utilisateur clique sur la flèche.

Un bouton fractionné a le style BS_SPLITBUTTON , ou le style BS_DEFSPLITBUTTON s’il s’agit du bouton par défaut dans une boîte de dialogue. Vous pouvez modifier l’apparence du bouton à l’aide du message BCM_SETSPLITINFO ou de la macro Button_SetSplitInfo correspondante.

Lorsque l’utilisateur clique sur la partie main du bouton fractionné, il envoie une notification BN_CLICKED comme un bouton push normal. Mais lorsque l’utilisateur clique sur la flèche vers le bas, il envoie une notification BCN_DROPDOWN . Il incombe à l’application d’afficher un menu en réponse à BCN_DROPDOWN.

Windows Vista et la version 6.00 ont également introduit un autre type de bouton push, le lien de commande. Visuellement, un lien de commande est très différent d’un bouton push normal, mais il a les mêmes fonctionnalités. Un lien de commande affiche généralement une icône de flèche, une ligne de texte et du texte supplémentaire dans une police plus petite.

Cases d’option

Une case d’option (également appelée bouton d’option) se compose d’un bouton rond et d’une étiquette définie par l’application, d’une icône ou d’une bitmap qui indique un choix que l’utilisateur peut effectuer en sélectionnant le bouton. Une application utilise généralement des cases d’option dans une zone de groupe pour permettre à l’utilisateur de choisir l’une d’un ensemble d’options connexes mais mutuellement exclusives.

Une case d’option peut être l’un des deux styles suivants : standard ou automatique, tel que défini par les constantes de style BS_RADIOBUTTON et BS_AUTORADIOBUTTON. Chaque style peut supposer deux états case activée : activé (un point dans le bouton) ou effacé (aucun point dans le bouton).

Lorsque l’utilisateur sélectionne l’un ou l’autre état, la case d’option reçoit le focus clavier. Le système envoie à la fenêtre parente du bouton un message WM_COMMAND contenant le code de notification BN_CLICKED . La fenêtre parente n’a pas besoin de gérer ce message s’il provient d’une case d’option automatique, car le système définit automatiquement l’état case activée pour ce style. Toutefois, la fenêtre parente doit gérer le message s’il provient d’une case d’option non automatique, car la fenêtre parente est chargée de définir l’état case activée pour ce style. Quel que soit le style de la case d’option, le système repeint automatiquement le bouton à mesure que son état change.

Les cases d’option sont organisées en groupes, et un seul bouton du groupe peut être activé à tout moment. Si l’indicateur WS_GROUP est défini pour n’importe quelle case d’option, ce bouton est le premier bouton d’un groupe, et tous les boutons qui le suivent immédiatement dans l’ordre de tabulation (mais qui n’ont pas eux-mêmes l’indicateur WS_GROUP ) font partie de son groupe. Si aucune case d’option n’a l’indicateur WS_GROUP , toutes les cases d’option de la boîte de dialogue sont traitées comme un seul groupe.

L’application peut déterminer si une case d’option est activée à l’aide de la fonction IsDlgButtonChecked .

Informations de référence

Styles de bouton

Conceptuel

Utilisation de boutons