10
votes

Comment définir deux boutons radio dans un groupe et deux dans un autre groupe?

J'ai total 4 radiobuttons sur ma forme, je souhaite définir les deux premiers boutons d'un groupe et les deux seconde dans un autre groupe afin que je puisse en vérifier un du premier groupe et celui du deuxième groupe.

En ce moment, si je vérifie un du premier groupe, celui du deuxième groupe devient décoché.

Je me suis toujours demandé comment faire cela et je crois que maintenant le moment de comprendre cela. :)


0 commentaires

5 Réponses :


16
votes

Pour citer à partir de l'aide de Trusted Delphi 5:

Par défaut, tous les boutons radio contenus directement dans le même conteneur de contrôle fenêtré, tel qu'un Tradiogroup ou TPanel , sont regroupés. Par exemple, deux boutons radio sur un formulaire ne peuvent être vérifiés en même temps que si elles sont contenues dans des conteneurs distincts, tels que deux boîtes de groupe différentes.


1 commentaires

D'accord. Le groupe Radiobutton est basé sur les relations parents / enfants. Pour avoir plusieurs groupes de boutons, vous devez utiliser plusieurs contrôles parent.



3
votes

Mettez deux boutons sur un panneau et les deux autres sur un autre panneau. De cette façon, ils seront traités comme des groupements distincts. Changez les bisvels du panneau pour retirer le bord et les quatre boutons ne vont pas regarder à l'utilisateur comme si elles sont séparées, si c'est ce que vous souhaitez.


0 commentaires

1
votes

Un radiobutton n'a pas de propriété groupIndex, comme le Speedbutton.

Ce serait beaucoup plus facile si cela le serait, car vous pouviez utiliser des chiffres pour créer des ensembles de radiobuttons qui interagissent uniquement avec ceux du même numéro défini dans le groupeIndex.

Donc, tout ce que vous pouvez faire est de les sortir à l'intérieur d'un contrôle de regroupement, comme un panneau.

Mais vous pouvez toujours créer votre propre version d'un radionbutton avec différentes nouvelles propriétés. :)


0 commentaires

0
votes

C'est pourquoi nous utilisons des groupes de groupe et de radiogroupes (peuvent être trouvés sur des contrôles standard). Je vous recommande de créer 2 groupboxes et de mettre 2 radiobuttons dans chacun. Ensuite, vous pourrez vérifier 2 Radiobuttons.

Vous pouvez également choisir un titre pour la boîte de groupe. C'est un très bon moyen d'organiser votre formulaire de demande


0 commentaires

0
votes

C'est génial lorsque les boutons radio du même groupe peuvent être des lignes ou des cols, mais si les boutons radio doivent être affichés dans un style x (ou de manière plus complexe): xxx

Restrictions pour cet échantillon de style X que j'ai mis:

  • A a la relation avec d (A et D ne peut pas être vérifié en même temps, en vérifiant un décocher l'autre)
  • C a la relation avec B (C et B ne peut pas être vérifié en même temps, en vérifiant un décocher l'autre)

    Il est visuellement requis comme ça, dans un style X, je ne peux donc pas mettre de groupe de groupe qui détient ce Radiobutton, puisque groupbox est rectangulaire, non diagonale.

    Je ne sais pas Toute solution uniquement à l'aide de composants standard, parmi des composants standard, il y a un hachoir pour créer des panneaux visuellement transparents et également cliquer à travers capable, de sorte que les deux panneaux sont un carré, l'un sur l'autre.

    mais qu'en est-il de la présence de boutons radio loin l'un de l'autre, avec beaucoup de composants complexes, des panneaux d'écoulement, des mémos, etc.

    La seule option consiste à utiliser des composants tiers (enfin à ce que je sais) ou de faire beaucoup du travail acharné:

    1. Créez un panneau pour chaque radiobutton avec exactement la même taille et la même position que le Radiobutton; Ceci fait le bouton radio pour ne pas cocher les autres, alors plus de code est nécessaire.
    2. Ajout de code pour chaque Radiobutton, alors quand il est vérifié, exécutez une déccomene sur tous ceux qui sont liées à celle-ci (celles qui ne doivent pas être vérifiées en même temps).

      Trop de travail pour quelque chose qui aurait pu être mis en œuvre sur une propriété simple comme Radiogroupindex, si vous avez attribué une valeur de 0 puis fonctionne comme ils fonctionnent maintenant, sinon décochez les seuls pour ce même groupe ... comme sur les menus principaux.


0 commentaires