Donnez votre avis..
INTERFACE GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
=Bibliothèque
|
BOUTON - 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 Réactions à cet article
| ACCES RAPIDE
RECHERCHE
LES INSTRUCTIONS
LES COMPOSANTS
Divers
INSTRUCTIONS
Où ça, qui ça?
VISITES
visiteurs visiteurs en ligne ARCHIVES GAMBAS 1/2
|