Tutorial d'initiation A la programmation avec l'API Windows
Tutorial d'initiation a la programmation Windows avec Microsoft Visual C++
Chapitre 2Les boîtes de dialogue5. Le contrôle 'Radio Button'
Cours théorique :
Le contrôle 'Radio Button' est assez similaire au contrôle 'Check Box', si ce n'est qu'un seul de ces contrôles peut être coché à la fois. Il se présente généralement sous forme d'un rond à cocher. Bien entendu, vous pouvez utilisez plusieurs de ces contrôles dans un même fenêtre et créer des groupes, de sorte qu'un seul des contrôle par groupe ne puisse être sélectionné, et non pas un seul pour l'ensemble de la fenêtre.
Si vous désirez créer seulement un groupe dans une fenêtre, il est inutile de créer un groupe. En effet, par défaut, un seul contrôle peut être sélectionné dans l'ensemble de la fenêtre.
Si vous utilisez l'éditeur de ressources de Visual, la création de groupes est simplifiée. Pour créer un groupe de radio buttons, il faut en insérer un, et lui mettre le style 'Group'. Puis on insère les autres radios du groupe mais sans mettre le style 'Group'. Pour créer un nouveau groupe, il suffit de refaire la même manipulation autant de fois que nécessaire.
Si vous éditez vos ressources en mode texte, le principe est le même. On met le style WS_GROUP au premier des radios puis on insère les autres à la suite.
L'ensemble des styles est décrit dans l'annexe A. La plupart modifient seulement l'apparence graphique du contrôle et ne sont pas très difficiles à utiliser. Retenez simplement un style assez important :
Auto [BS_AUTORADIOBUTTON] : ce contrôle indique que les radios sont gérés automatiquement. Vous n'avez pas à demander de décocher les radios lorsqu'un autre est coché. Généralement, ce style est toujours utilisé, sauf cas très particuliers.
Pour cocher ou décocher les radios, il faut utiliser les fonctions ChekDlgButton() et IsDlgButtonChecked(). Ces fonctions sont identiques à celles utilisées avec les contrôles 'Check Box'. Bien entendu, le style indéterminé n'est pas disponible ici. Remarquons que lorsque vous utilisez CheckDlgButton(), les autres radios ne sont pas décochés, même en utilisant le style Auto. Enfin, vous pouvez utilisez la fonction CheckRadioButton() pour cocher un radio et décochez les autres. Pour cela, les radios doivent avoir étés créés dans l'ordre (les identifiants doivent être en ordre croissant). Il suffit ensuite de passer l'identifiant du premier radio, celui du dernier, ainsi que le radio à sélectionner.
|