WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteurs en ligne

Où ça, qui ça?
RADIOBUTTON - Utilisation
LE RADIO BOUTON

radiobutton.png

Bonjour,
Dans ce petit exemple, nous allons essayer d'utiliser le radiobutton, un widget qui permet de sélectionner tel ou tel événement dans un programme.
Les choses essentielles à retenir :

Deux radioboutons inter-agissent si ils sont dans le même parent ou container.
dans l'exemple, si je clique sur bleu, L'unou l'autre ne sera pas désélectionné car ils ne sont pas dans le même container.

Le radiobutton reagira à lévènement Click la plupart du temps.

C'est a peu prés tout ce qu'il faut savoir dessus.
voici un petit exemple d'application pour en démontrer les principales fonctions :

TELECHARGER LE FICHIER

voici le code de l'application :

' Gambas class file

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()
ME.Center
END

PUBLIC SUB Button1_Click()

  ME.Close

END

PUBLIC SUB RadioButton1_Click()
lcouleur.Background = &h0000FF&
END

PUBLIC SUB RadioButton2_Click()
lcouleur.Background = &hFFFF00&
END

PUBLIC SUB RadioButton3_Click()
lcouleur.Background = &h00FF00&
END

PUBLIC SUB RadioButton4_Click()
lcouleur.Background = &hFF0000&
END

PUBLIC SUB RadioButton5_Click()
lcouleur.Background = &hFFBA00&
END

PUBLIC SUB RadioButton6_Click()
RadioButton6.X = RadioButton6.X + 3
END

PUBLIC SUB RadioButton7_Click()
RadioButton7.X = RadioButton7.X + 3
END

A bientôt

tongue

Date de création : 07/01/2010 @ 15:28
Dernière modification : 07/01/2010 @ 15:32
Catégorie : RADIOBUTTON
Page lue 3476 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°6 

par spheris le 15/12/2010 @ 18:13

Caracole, ce que tu appelles index en vb est la propriété tag en gb. Cela se gère de la même façon.wink

Réaction n°5 

par caracole le 15/12/2010 @ 13:34

La propriete Index n'existant pas en Gambas comme sur VB cela conduit à un code Lourd !

Réaction n°4 

par spheris le 18/06/2010 @ 22:47

Revillio,
Encore mieux.
Merci pour l'info !
wink

Réaction n°3 

par reivillo le 17/06/2010 @ 09:10

'*********************************************************
'Bonjour,
'
'Et en utilisant les Propriétés " Group ", et " Tag " !!!
'*********************************************************

PUBLIC MyColor AS Integer[] = [&h0000FF&, &hFFFF00&, &h00FF00&, &hFF0000&, &hFFBA00&]
PUBLIC SUB Form_Open()
  ME.Center
  lcouleur.Background = MyColor[0]
END

PUBLIC SUB Button1_Click()
  ME.Close
END

PUBLIC SUB color_Click()
  lcouleur.Background = MyColor[LAST.tag]
END

PUBLIC SUB actif_Click()
  IF (LAST.tag) = 0 THEN
    RadioButton6.X = RadioButton6.X + 3
  ELSE
    RadioButton7.X = RadioButton7.X + 3
  ENDIF
END

Réaction n°2 

par spheris le 08/01/2010 @ 23:56

Effectivement tu as raison gambix,

il faut que je potasse l'utilisation des groupes et des tag qui ne semble pas un réflexe programmation pour l'instant.
Peut être un tuto dessus bientôt.
C'est quand même bien plus pratique. Un gambasien qui maitrise cela, c'est popaul :
http://gambaslinux.eg2.fr/articles.php?lng=fr&pg=157 qui m'a beaucoup appris. wink

Réaction n°1 

par gambix le 07/01/2010 @ 19:03

je ne vois pas l'intérêt de parler des boutn radio ainsi.

disont qu'il faut ajouter que clicker sur un des radio d'un groupe déselectionne tout les autres, on appelle cet effet radio. les radio button comme les checkbox possède aussi une propriété value qui permet de savoir si il sont sélectionné.

Dim hRadio as RadioButton

For each hRadio in Me.Children
'oui je dit qu'il sont dans le formulaire mais c'est pour l'exemple

if hRadio.Value then
Print hRadio.Name & "est sélectionné"
endif

next

Bien sur la plupard du temp les évènement suffisent.
A présent comment réduire le code de spheris de moitié ?

On donne a tout les radiobutton Le même nom de groupe dans les propriété. et on donne une valeur de 1 à 6 (oui si ya 6 radiobutton) a la propriété tag. (bien sur on assigne une valeur unique a chacun des radio)

Ensuite on ne gère plus que l'évènement du groupe (une fois le nom du groupe donné, un doubleclick sur le controle va préremplire l'entête de la procédure avec ce nom et non plus le nom donné dans Name)

Public sub MonRadioGroupe_Click()

Select Case Last.Tag
Case 1
'Faire qquechose
Case 2
'Faire qquechose
Case 3
'Faire qquechose
Case 4
'Faire qquechose
Case 5
'Faire qquechose
Case 6
'Faire qquechose
End
end

Bon j'en conviens ça ne réduit pas le code de moitier mais ça a le don de le endre plus lisible ... sinon imaginez avoir 10 groupe de 4 radio... arf


ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^