Page loading

Share your opinion
What do you think about gambaslinux.fr?
 
Interesting
It miss some informations
Excellent website
Results
WIDGETS GAMBAS
GAMBAS 3 SOFTWARES
TUTORIALS
Library
RADIOBUTTON - Use it
French only sorry...
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'un ou 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

Creation date : 07/01/2010 @ 15:28
Last update : 07/01/2010 @ 15:32
Category : RADIOBUTTON
Page read 5455 times


Print the article Print the article


react.gifReactions to this article


Reaction #6 

by spheris 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

Reaction #5 

by caracole 15/12/2010 @ 13:34

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

Reaction #4 

by spheris 18/06/2010 @ 22:47

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

Reaction #3 

by reivillo 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

Reaction #2 

by spheris 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

Reaction #1 

by gambix 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


QUICK MENU
SEARCH




LANGUAGE
COMPONENTS
Other
LANGUAGE
Where, who?
VISITS

   visitors

   visitors online

ARCHIVES GAMBAS 1/2
^ Top ^