French créer un bouton dynamiquement et ajouter un "event Name"

logemag

Member
Licensed User
Longtime User
Bonjour, sur mon projet, je dois créer des boutons dynamiquement, en les indexant, mais je ne sais pas comment donner un évènement à ce bouton indéxé, comment je dois faire comprendre que l'événement click sur n'importe lequel de ces boutons créera une action ?

Je sais pas trop si j'ai été clair : peut être un bout de code aidera mieux :

B4X:
Sub Activity_Create(FirstTime As Boolean)
'demarre la page graphique
activity.LoadLayout ("designGRID")
'définit la longueur et largeur du bouton
Dim xPAN As Int : xPAN = panel1.Width / 4
Dim yPAN As Int : yPAN = panel1.Height / 5

' la boucle d'affichage des boutons en grille 4 x 5
Dim btnGRILLE(20) As Button
Dim index As Int : index = 0
For a = 0 To 3
   For b = 0 To 4
      btnGRILLE(index).Initialize ("btnGRILLE")
      panel1.AddView(btnGRILLE(index), xPAN * a, yPAN * b , xPAN, yPAN)
      btnGRILLE(index).Text = index ' ça sera remplacé par les éléments d'une liste
      btnGRILLE(index).Tag = index 
      index = index+1
   Next
Next
end sub

comment je définis un _click sur mon btnGRILLE(index) ?
ou comment ajouter un "Event name" à la création pour avoir un sender ?
(Débutant B4A, je regrette déjà les index de VB6 !)
 

logemag

Member
Licensed User
Longtime User
pardon j'ai du trop réfléchir, mon Event Name est le Initialize, donc après c'est tout bête avec un sender :

B4X:
Sub btnGRILLE_Click
Dim btnSELECT As Button 
   btnSELECT = Sender
   label1.Text = btnSELECT.tag
End Sub

désolé pour ce post...:signOops:

Remarquez quand on vient de VB, ça change vraiment, et c'est peut être pas inutile comme petit exemple.
 
Top