Contrôle RadioButtonGroup

Le contrôle RadioButtonGroup est un groupe de boutons radio. Il permet à l’utilisateur de sélectionner une chaîne ou une valeur entière pour une propriété à partir d’une liste de valeurs prédéterminées. Vous pouvez associer le contrôle à une propriété en entrant son nom dans la colonne Propriétés de la table Contrôle. Spécifiez les valeurs possibles pour la sélection dans la colonne Valeurs de la table RadioButton. Notez que la chaîne affichée n’est pas nécessairement la même que la valeur choisie par l’utilisateur.

Chaque contrôle RadioButtonGroup est associé à une propriété . La valeur par défaut de cette propriété doit être initialisée dans la table Propriétés. Dans chaque RadioButtonGroup spécifié dans la table RadioButton, il peut y avoir une case d’option dont une valeur du champ Valeurs correspond à la valeur par défaut de cette propriété. Il s’agit du bouton par défaut du contrôle RadioButtonGroup. Le bouton Par défaut s’affiche initialement comme sélectionné dans le contrôle.

Notez que le focus sur une boîte de dialogue ne peut pas se déplacer vers un contrôle RadioButtonGroup tant que l’un des boutons du groupe n’a pas été sélectionné. Pour que le focus se déplace vers ce groupe de boutons, spécifiez l’un de ces derniers comme bouton par défaut pour le groupe.

RadioButtonGroup contrôle uniquement les valeurs de propriété définies et ne peut pas être utilisé pour envoyer un ControlEvent.

L’implémentation traite l’ensemble du groupe comme un seul contrôle. Par conséquent, il n’est pas possible de masquer ou de désactiver des boutons individuels au sein du groupe. De même, tous les boutons doivent être du même style, c’est-à-dire qu’ils ont tous du texte ou tous des bitmaps (ou d’autres fonctionnalités similaires). La position des boutons est créée par rapport au groupe. De cette façon, l’ensemble du groupe peut être déplacé en modifiant uniquement les coordonnées du groupe sans modifier les boutons individuels. Lors de la création, le contrôle vérifie que les boutons individuels ne s’étendent pas au-delà des limites du groupe.

Attributs de contrôle

Vous pouvez utiliser les attributs suivants avec ce contrôle. Pour modifier la valeur d’un attribut à l’aide d’un événement, abonnez le contrôle à un ControlEvent dans la table EventMapping, et répertoriez l’identificateur de l’attribut dans la colonne Attribut. Entrez l’identificateur de ControlEvent dans la colonne Event.

Identificateur d’attribut Bit hexadécimal Description
IndirectPropertyName Nom d’une propriété indirecte associée au contrôle. Si le bit d’attribut Indirect est défini, le contrôle affiche ou modifie la valeur de la propriété portant ce nom, nom qui constitue également la valeur de la propriété figurant dans la colonne Property de la table Control.
Position Position du contrôle dans la boîte de dialogue. Si le bit d’attribut indirect est défini, ce nom est également la valeur de la propriété répertoriée dans la colonne Propriété de la table Control. Utilisez les unités du programme d’installation pour la longueur et la distance.
PropertyName   Nom de la propriété associée à ce contrôle. Si le bit d’attribut Indirect n’est pas défini, le contrôle affiche ou modifie la valeur de la propriété portant ce nom. Cet attribut est spécifié dans la colonne Property de la table Control.
PropertyValue Valeur actuelle de la propriété affichée ou modifiée par ce contrôle. Si le bit d’attribut Indirect n’est pas défini, il s’agit de la valeur de PropertyName. S’il est défini, il s’agit de la valeur d’IndirectPropertyName. Lorsque l’attribut change, le contrôle reflète la nouvelle valeur.
Texte Cet attribut de contrôle peut spécifier le texte affiché par le contrôle, une image stockée dans la table Binaire ou une image définie au moment de l’exécution. Pour spécifier du texte, entrez la chaîne de texte dans la colonne Texte de la table Contrôle. Pour définir la police et le style de police d’une chaîne de texte, écrivez {\style} ou {&style} devant la chaîne des caractères affichés. Là où le style est un identificateur répertorié dans la colonne TextStyle de la table TextStyle. Si aucun de ces éléments n’est présent, mais que la propriété DefaultUIFont est définie comme un style de texte valide, cette police sera utilisée.
Pour spécifier une icône ou une image bitmap stockée dans la table Binaire , entrez la clé primaire d’enregistrement de l’image de la colonne Nom, de la table Binaire, dans la colonne Texte de l’enregistrement de la table Contrôle, pour le contrôle.
Visible 0x00000000 0x00000001
Contrôle masqué. Contrôle visible.
Incluez ce bit dans le mot de bit de la colonne Attributes dans la table Control pour rendre le contrôle visible ou masqué lors de sa création.
Vous pouvez également masquer ou afficher un contrôle à l’aide de la table ControlCondition.
Activé 0x00000000 0x00000002
Contrôle dans un état désactivé. Contrôle dans un état activé.
Incluez ce bit dans la colonne Attributes de la table Control pour activer le contrôle au moment de la création.
Vous pouvez également activer ou désactiver un contrôle à l’aide de la table ControlCondition.
Sunken 0x00000000 0x00000004
Affiche le style visuel par défaut. Affiche le contrôle avec un aspect 3D enfoncé.
Incluez ces bits dans le mot bit dans la colonne Attributes de la table Control.
Indirect 0x00000000 0x00000008
Le contrôle affiche ou change la valeur de la propriété dans la colonne Property de la table Control. Le contrôle affiche ou change la valeur de la propriété dont l’identificateur est listé dans la colonne Property de la table Control.
Détermine si la propriété associée à ce contrôle est référencée indirectement.
Integer 0x00000000 0x00000010
La propriété associée au contrôle est une valeur de chaîne. La propriété associée au contrôle est une valeur d’entier.
Incluez ce bit dans la colonne Attributes de la table Control pour définir cet attribut au moment de la création du contrôle.
RTLRO 0x00000000 0x00000020
Le texte du contrôle s’affiche dans l’ordre de lecture de gauche à droite. Le texte du contrôle s’affiche dans l’ordre de lecture de droite à gauche.
RightAligned 0x00000000 0x00000040
Le texte du contrôle est aligné à gauche. Le texte du contrôle est aligné à droite.
PushLike 0x00000000 0x00020000
Le contrôle est dessiné avec son apparence habituelle. Le contrôle a le style BS_PUSHLIKE et est dessiné pour apparaître sous la forme d’un bouton.
Incluez ce bit dans la colonne Attributs de la table Contrôle pour définir cet attribut lors de la création du contrôle.
Bitmap 0x00000000 0x00040000
Si ce bit n’est pas défini, le texte du contrôle est spécifié dans la colonne Texte de la table Contrôle. Le contrôle a le style BS_BITMAP, le texte dans le contrôle est remplacé par une image bitmap. La colonne Texte de la table Contrôle est une clé étrangère de la table Binaire.
Incluez ce bit dans la colonne Attributs de la table Contrôle.
Ne définissez pas simultanément les bits de style Icône et Bitmap. Le bouton ne peut pas contenir à la fois une image bitmap et du texte.
Pour définir la police et le style de police d’une chaîne de texte, préfixez la chaîne des caractères affichés avec {\style} ou {&style}. Où style est un identificateur répertorié dans la colonne TextStyle de la table TextStyle. Si aucun de ces éléments n’est présent, mais que la propriété DefaultUIFont est définie comme un style de texte valide, cette police sera utilisée.
Icône 0x00000000 0x00080000
Si ce bit n’est pas défini, le texte du contrôle est spécifié dans la colonne Texte de la table Contrôle. Le contrôle a le style BS_ICON, le texte dans le contrôle est remplacé par une image d’icône. La colonne Texte de la table Contrôle est une clé étrangère de la table Binaire.
Incluez ce bit dans la colonne Attributs de la table Contrôle.
Ne définissez pas les bits Icône et Bitmap simultanément. Le bouton ne peut pas contenir à la fois une image d’icône et du texte.
Pour définir la police et le style de police d’une chaîne de texte, préfixez la chaîne des caractères affichés avec {\style} ou {&style}. Où style est un identificateur répertorié dans la colonne TextStyle de la table TextStyle. Si aucun de ces éléments n’est présent, mais que la propriété DefaultUIFont est définie comme un style de texte valide, cette police sera utilisée.
FixedSize 0x00000000 0x00100000
Étire l’image d’icône pour qu’elle s’adapte au contrôle. Rognez ou centrez l’image d’icône dans le contrôle.
Incluez ce bit dans la colonne Attributs de la table Contrôle.
iconSize 0x00000000 0x00200000
0x00400000
0x00600000
Charge la première image. Charge la première image 16x16.
Charge la première image 32x32.
Charge la première image 48x48.
Un fichier d’icône peut contenir des images de tailles différentes pour la même icône. Incluez la valeur du mot de bits approprié dans la colonne Attributes de la table Control
Si ces bits ne sont pas définis, le programme d’installation ignore l’attribut FixedSize et l’image sera étirée pour s’adapter au rectangle de contrôle. Si les bits IconSize et FixedSize sont définis, une image plus petite que le contrôle sera centrée, et une image plus grande sera réduite pour s’adapter.
HasBorder non défini 0x01000000
Aucune bordure ni texte. Affiche la bordure et le texte.
Incluez 16777216 dans le nombre de bits de la colonne Attributs des contrôles pour afficher une bordure et du texte.

 

Notes

En raison de la façon dont Windows dessine le cadre, il existe un espace entre le haut de la fenêtre de contrôle et le cadre visible, même s’il n’y a pas de légende.

Ce contrôle peut être créé à partir de la classe STATIC à l’aide de la fonction CreateWindowEx. Si le bit HasBorder est défini, il aura le style BS_GROUPBOX , sinon, ce sera le style BS_OWNERDRAW .

Le contrôle RadioButtonGroup ne doit pas chevaucher d’autres contrôles, et aucun autre contrôle ne doit chevaucher un RadioButtonGroup. Le chevauchement de ce contrôle et d’un autre peut entraîner un fonctionnement ou un affichage incorrect des contrôles. Pour fournir aux programmes de lecteur d’écran un texte descriptif supplémentaire sur un contrôle RadioButtonGroup, suivez l’exemple montré dans Ajout de texte supplémentaire aux boutons radio.