#1 Fri 25 March 2005 14:01
- ROBIN Thomas
- Invité
[MapBasic] Control RadioGroup
Bonjour,
Afin de générer des plan de situation de manière automatique, l'utilisateur de l'outil mbx doit spécifier l'option de zoom qu'il
souhaite avoir pour son plan.
Ainsi je crée un Control RadioGroup avec 8 options possible :
Code:
Control RadioGroup Position 10 , 130 ID 6 Calling select_zoom Title "1cm pour 25m; 1cm pour 50m; 1cm pour 100m; 1cm pour 150m;"+ " 1cm pour 200m; 1cm pour 250m; 1cm pour 300m; 1cm pour 350m"
Ainsi au lieu de voir apparaitre les boutons radio sur une seul colone je souhaiterais les voir apparaitre sur deux colones afin de rendre ma fenêtre dialog la mieux organisée possible.
Est-ce possible sans avoir à créer un second control RadioGroup ?
Merci d'avance pour votre aide.
#2 Fri 25 March 2005 15:39
- Jacques Paris
- Invité
Re: [MapBasic] Control RadioGroup
On ne peut pas, autant que je le sache, formater un radiogroup.
Vouloir utiliser deux radigroups n'est pas la solution car il y a toujours un choix automatique impose dans chaque groupe; comment alors choisir entre les deux groupes pour savoir dans lequel le choix a ete exprime?
Je crois que la solution passe par des CheckBox, un pour chaque choix; ces control doivent appeler une fonction qui met a jour toutes les autres checkbox; des qu'un choix est exprime, toutes les autres sont deselectionnees (enfin, seule celle deja selectionnee est desactivee). Lors de l'execution de la fenetre de choix, le choix fait est alors identifie.
Je pense qu'il est possible d'accelerer la procedure en gardant dans une variable globale l'ID du choix, mis a jour a chaque selection d'une checkbox.
#3 Fri 25 March 2005 15:40
- ROBIN Thomas
- Invité
Re: [MapBasic] Control RadioGroup
Hé non, malheureusement non.
On est obligé de bricoler avec 2 RadioGroup.
Vous pouvez toujours jouer avec la propriété Height pour indiquer l'espace entre deux coches mais c'est tout.
Bonjour
Merci pour votre réponse.
Mais dans ce cas c'est assez embêtant. Comment faire alors pour mettre le value d'un radio group à 0 si l'autre est positif et inversement...
J'ai testé avec ceci mais ça ne fonctionne pas.
Code:
If readcontrolvalue(6)=0 then If readcontrolvalue(7) 0 then alter control 7 value 0 end if end if If readcontrolvalue(7)=0 then If readcontrolvalue(6) 0 then alter control 6 value 0 end if end if
J'ai le message d'erreur suivant : Alter control value hors limites
Merci encore pour votre aide
#4 Fri 25 March 2005 16:20
- Jacques Paris
- Invité
Re: [MapBasic] Control RadioGroup
Si vous tenez a utiliser des radiogroups, il faut que chacun commence par une valeur vide (disons value 1, aucun titre)
Des qu'un choix est exprime dans un radiogroup, les choix des autres groups sont remis a un.
On peut alors reperer quel choix est fait en trouvant quel group a une valeur 1 et en reconstituant ainsi le choix dans la liste totale des choix.
#5 Tue 29 March 2005 14:03
- Jacques Paris
- Invité
Re: [MapBasic] Control RadioGroup
Cela m'a pris un certain temps pour me focaliser sur le probleme mais j'y ai finalement trouve deux solutions, une utilisant des radiogroups, l'autre des checkbox.
Je ne peux pas dire quelle serait la plus efficace, la plus facile a mettre en ouvre. Je pencherai pour les checkbox (une seule sub comparee a une par radiogroup) mais un dialog plus long (une ligne par choix).
Question de gout car l'efficacite operationnelle semble la meme
J'ai mis les deux petits MB dans un ZIP et ceux qui seraient interesses peuvent me le demander. Je ne.le mettrai sur le site que si la demande le justifie et certainement pas avant d'avoir vos reactions.