Come da guida (dal WIKI) il codice riportato di seguito mi crea 4 "button" e 4 "label",
e qui non c'è nessun problema, in quanto mi dice se ho fatto click sul primo
button o sulla prima label ecc. È mi è molto utile.
Però avrei la necessita di sapere come fare pur cliccando su un solo button o label
cambiare le proprietà ".text"
Spero che sia chiaro quello che ho scritto.
Ho dato un'occhiata al WIKI ma non c'ho capito niente. :hard: :hard: :hard: :hard: :hatecomputer: :hatecomputer:
Public Sub Form_Open()
Dim j As Byte
Dim t As Button
Dim p As Byte
Dim L As Label
For j = 0 To 3
t = New Button(Me) As "T"
With t
.X = (10)
.Y = 1 + (50 * j)
.W = 60
.H = 30
.Text = "9Bit"
.Name = Str(j) ' identifichiamo univocamente l'oggetto appena creato
End With
Next
For p = 0 To 3
L = New Label(Me) As "D"
With L
.X = 90
.Y = 1 + (50 * p)
.W = 60
.H = 30
.Text = "9Bit"
.Name = Str(p) ' identifichiamo univocamente l'oggetto appena creato
End With
Next
End
Public Sub T_Click()
Print "Hai premuto il tasto n. " & Last.Name
End
Public Sub D_DblClick()
Print "Hai fatto doppio click sulla label n. " & Last.Name
End
Quando avvio il programma voglio cambiare il nome ai pulsanti facendo click su uno dei quattro, idem con le label
A mio avviso devi individuare i Button, in quanto Children del contenitore ove sono posizionati. Quindi cambiargli il testo.... una cosa più o meno così:
Public Sub T_Click()
Dim o As Object
Dim b As Byte
' Per ogni oggetto "figlio" della finestra principale:
For Each o In FMain.Children
' Se il tipo di oggetto è un "Button"...
If Object.Type(o) = "Button" Then
' allora gli cambio il testo:
o.Text = Object.Type(o) & CStr(b)
Endif
Inc b
Next
End
Ho risolto con il tuo consiglio, modificando però:
"o.Text = Object.Type(o) & b
con questo:
Dim o As Object
Dim b As Byte
For Each o In FMain.Children
' Se il tipo di oggetto è un "Button"...
If Object.Type(o) = "Button" Then
' allora gli cambio il testo:
o.Text = "Prova"
Endif
Inc b
Next
a tutti Grazie 10000000000 :2birre: :coder: