Donnez votre avis..
INTERFACE GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
=Bibliothèque
|
LABEL - Utiliser le label comme bouton
Utiliser la commande LAST et les groupes
Aujourd'hui pour notre exemple, nous allons nous intéresser à plusieurs astuces. Je souhaite réaliser une application avec des labels qui feront office de boutons de couleur. Lorsque je passe dans le bouton, je souhaite qu'il ait une autre couleur de fond (noir par exemple) , puis lorsque je le quitte, je souhaite qu'il reprenne sa couleur de fond initiale. Et ceci sur 6 boutons comme le montre la photo ci dessus. A) L'evènement ENTER (la souris rentre dans la surface du label) Lorsque la souris rentre dans le label, la méthode ENTER est exécutée. Nous pourrons donc écrire le code à cet endroit. B) L'évènement LEAVE (la souris quitte la surface du label) Lorsque la souris quitte le label, la méthode LEAVE est exécutée. Nous pourrons donc écrire le code à cet endroit aussi. C) La commande LAST. Cette commande est vraiment pratique, elle est en quelque sorte la mémoire du dernier widget utilisée. Vous pouvez ainsi récupérer plusieurs données comme : Last.Tag = récupère le dernier texte présent dans la propriété TAG Last.Text = récupère le dernier texte présent dans la propriété TEXT Last.Background = récupère le dernier nombre présent dans la propriété BACKGROUND, etc... Nous avons compris maintenant : Dans la méthode ENTER, nous allons écrire ce code : Last.background = Color.Black Dans la méthode LEAVE, nous allons écrire ce code : Last.background = CInt(Last.tag) Pourquoi last.tag ? J'ai au préalable renseigné la propriété TAB de chaque label avec le code couleur du label à l'origine. Par exemple DARKGREEN correspond à la valeur integer : 32768. Comment sais-je quel est son code couleur? tapez simplement dans la page de code color. comme l'image ci-dessous : et vous verrez dans la documentation le code correspondant. Cint vous permet de convertir en INTEGER la valeur présente dans le TAG. D) La notion de groupe Enfin, la notion de groupe est très importante en Gambas. Elle vous permet de réunir plusieurs widgets ensembles. Dans la propriété GROUP de chaque label , renseignez un nom (ici bb ) Du coup un seul évènement sera créé pour l'ensemble des labels, ce qui allègera considérablement votre code. E) Récupérer quel label a été cliqué. Enfin, pour connaître quel bouton a été cliqué, utilisez la commande LAST comme tout à l'heure. Nous l'afficherons dans une boite de message comme ceci : Message.Info(Last.Text & "," & Last.tag) Notez que pour le label, l'evènement click n'existant pas, nous utiliserons l'évènement mousedown. Voici le code de cette application: Public Sub bb_Enter() Last.background = Color.Black End Public Sub bb_Leave() Last.background = CInt(Last.tag) End Public Sub Form_Open() Me.Center() End Public Sub bquit_Click() Me.Close() End Public Sub bb_MouseDown() Message.Info(Last.Text & "," & Last.tag) End Merci pour votre attention. Date de création : 13/03/2022 @ 19:49 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
|