banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

Christophe Barbier a écrit:

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.

 

Pied de page des forums

Powered by FluxBB