Page en cours de chargement

Donnez votre avis..
Que pensez-vous de gambaslinux.fr?
 
Interessant
Il manque des rubriques
excellent site
Résultats
INTERFACE GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
=Bibliothèque
_gb3.pngBOUTON - Simplifier le code
Utiliser ACTION pour simplifier le code


Bonjour,
Aujourd'hui pour ce tutoriel, nous allons réaliser une application avec 4 boutons.
Je souhaite que quand je clique sur un bouton, les trois autres se désactivent à la manière du comportement des radiobutton.

A) création de l'interface.

Créons 4 boutons comme ceci :



et un bouton Button5 dont la propriété Text est : Reset qui nous permet de réactiver tous les boutons.

B) Ecriture du code

Tout naturellement nous pouvons écrire le code comme ci-dessous qui consiste à désactiver les boutons non cliqués comme ceci :

Public Sub Button1_Click()
Button1.Enabled = True
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
End

Public Sub Button2_Click()
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = False
Button4.Enabled = False
End

Public Sub Button3_Click()
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = True
Button4.Enabled = False
End

Public Sub Button4_Click()
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = True
End

Public Sub Button5_Click()
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
End

C) Simplification du code en utilisant les groupes

Nous pouvons simplifier ce code en utilisant les groupes.
En effet, les groupes servent à regrouper plusieurs widgets ensemble qui réagiront au même évènement.
dans la propriété GROUP de chaque bouton, saisissez toto. Tous ces boutons appartiendrons au groupe toto.

Dans la propriété Tag de chaque bouton, saisssez respectivement 1,2,3,4.
Ainsi nous n'aurons qu'un seul évènement click comme ceci :

PUBLIC SUB toto_Click()
SELECT CASE LAST.tag
CASE 0
bouton0.Enabled = FALSE
bouton1.Enabled = TRUE
bouton2.Enabled = TRUE
bouton3.Enabled = TRUE
CASE 1
bouton0.Enabled = TRUE
bouton1.Enabled = FALSE
bouton2.Enabled = TRUE
bouton3.Enabled = TRUE
CASE 2
bouton0.Enabled = TRUE
bouton1.Enabled = TRUE
bouton2.Enabled = FALSE
bouton3.Enabled = TRUE
CASE 3
bouton0.Enabled = TRUE
bouton1.Enabled = TRUE
bouton2.Enabled = TRUE
bouton3.Enabled = FALSE
END SELECT
END

D) simplification du code à l'extrême.

Nous pouvons encore simplfier le code.
 En regardant de plus près, nous jouons sur la propriété enabled pour activer ou désactiver le bouton.
Ainsi, nous pouvons utiliser la propriété ACTION en saisissant pour chaque bouton le texte bouton.
En cumulant le groupe et action, nous écrivons alors ce code :

PUBLIC SUB toto_Click()
Action["bouton", ME].Enabled = TRUE
LAST.Enabled = FALSE
END

Expliquons ce code :
public Sub toto_click Lors d'un click sur un widget appartenant au groupe toto
Action["bouton", ME].Enabled = TRUE la propriété enable passera à true sur la widget dont l'action se prénomme bouton,
LAST.Enabled = FALSE et ce dernier qui a été cliqué aura sa propriété enabled à False.

En conclusion, nous avons simplifié le code en à peine 3 lignes.
C'est ça la puissance de gambas.
Merci à tous pour votre attention.


Date de création : 08/04/2022 @ 11:31
Dernière modification : 08/04/2022 @ 20:51
Catégorie : BOUTON
Page lue 1153 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !


ACCES RAPIDE
RECHERCHE




LES INSTRUCTIONS
Divers
INSTRUCTIONS
Où ça, qui ça?
VISITES

   visiteurs

   visiteurs en ligne

ARCHIVES GAMBAS 1/2
^ Haut ^