États du bouton
Cette section explique comment sélectionner un bouton change d’état et comment l’application doit répondre.
La section se compose des rubriques suivantes :
- sélection du bouton
-
éléments d’un d’état de bouton
- état du focus
- d’état Push
- Vérifier l’état
- modifications apportées à un état de bouton
Sélection du bouton
L’utilisateur peut sélectionner un bouton de trois façons : en cliquant dessus avec la souris, en appuyant sur tabulation, puis en appuyant sur la touche Entrée, ou (si le bouton fait partie d’un groupe défini par le style WS_GROUP) en appuyant sur tabulation vers le bouton sélectionné dans le groupe et en utilisant les touches de direction pour se déplacer dans ce groupe. Les deux méthodes de tabulation font partie de l’interface clavier prédéfinie fournie par le système. Pour obtenir une description complète de cette interface, consultez boîtes de dialogue.
La sélection d’un bouton provoque généralement les événements suivants :
- Le système donne au bouton le focus clavier.
- Le bouton envoie à sa fenêtre parente un message pour l’avertir de la sélection.
- La fenêtre parente (ou le système) envoie au bouton un message pour modifier son état.
- La fenêtre parente (ou le système) repeint le bouton pour refléter son nouvel état.
Éléments d’un état de bouton
L’état d’un bouton peut être caractérisé par son état de focus, son état push et son état de vérification.
- état du focus
- d’état Push
- Vérifier l’état
État du focus
L’état du focus s’applique à une case à cocher, une case d’option, un bouton push ou un bouton dessiné par le propriétaire. Un bouton reçoit le focus clavier lorsque l’utilisateur le sélectionne et perd le focus lorsque l’utilisateur sélectionne un autre contrôle. Un seul contrôle peut avoir le focus clavier à la fois.
Lorsqu’un bouton a le focus clavier, le système met généralement en surbrillance le texte, l’icône ou la bitmap d’un bouton en l’entourant d’une ligne en pointillés. En outre, un bouton push a une bordure sombre lourde lorsqu’il a le focus. Le système modifie automatiquement la mise en surbrillance d’un bouton automatique, mais l’application doit modifier la mise en surbrillance d’un bouton non automatique en envoyant des messages.
État push
L’état push s’applique à un bouton Push, à une case d’option, à une case d’option ou à une case à cocher à trois états, mais ne s’applique pas à d’autres boutons. L’état push d’un bouton peut être poussé ou non. Lorsqu’un bouton push (ou n’importe quel bouton avec le style BS_PUSHLIKE) est enfoncé, le bouton est dessiné comme un bouton enfoncé. Lorsqu’il n’est pas poussé, il est dessiné comme un bouton déclenché. Lorsqu’une case à cocher, une case d’option ou une case à cocher à trois états est activée, l’arrière-plan du bouton est grisé. Lorsqu’il n’est pas poussé, l’arrière-plan du bouton n’est pas grisé.
Vérifier l’état
L’état de la case à cocher s’applique à une case à cocher, une case d’option ou une case à cocher à trois états, mais ne s’applique pas à d’autres boutons. L’état peut être activé, désactivé ou (pour les cases à cocher à trois états) indéterminé. Une case à cocher est cochée lorsqu’elle contient une coche et est désactivée lorsqu’elle ne le fait pas. Une case d’option est cochée lorsqu’elle contient un point noir ; il est clair quand il ne le fait pas. Une case à cocher à trois états est cochée lorsqu’elle contient une coche, est désactivée lorsqu’elle n’est pas, et est indéterminée lorsqu’elle contient une zone grisée. Le système modifie automatiquement l’état de vérification d’un bouton automatique, mais l’application doit modifier l’état de vérification d’un bouton non automatique.
Modifications apportées à l’état d’un bouton
Lorsque l’utilisateur sélectionne un bouton, il est généralement nécessaire de modifier un ou plusieurs éléments d’état du bouton. Le système modifie automatiquement l’état du focus pour tous les types de boutons, l’état d’envoi pour les boutons push ou les boutons avec le style BS_PUSHLIKE et l’état de vérification de tous les boutons automatiques. L’application doit apporter toutes les autres modifications d’état, en tenant compte du type, du style et de l’état actuel du bouton. La liste suivante montre les éléments d’état qui doivent être modifiés pour chaque type de bouton :
- Une case à cocher doit modifier l’état de vérification.
- Une case d’option doit modifier l’état de vérification. Il peut également être nécessaire de modifier l’état de vérification d’autres cases d’option dans le même groupe pour garantir la nature mutuellement exclusive des cases d’option.
- Étant donné que l’état d’un bouton dessiné par le propriétaire dépend de l’application, ce que l’application doit changer dans le bouton peut varier. Aucun élément d’une zone de groupe ne doit être modifié, car les utilisateurs ne peuvent pas sélectionner de zones de groupe.
Une application peut déterminer l’état d’un bouton en l’envoyant un message BM_GETCHECK ou BM_GETSTATE ; l’application peut définir l’état d’un bouton en l’envoyant un message BM_SETCHECK ou BM_SETSTATE.