Modificare il valore delle proprietà degli oggetti posti sulla scheda in primo piano di una TabStrip

Da Gambas-it.org - Wikipedia.
Versione del 27 giu 2024 alle 14:41 di Vuott (Discussione | contributi) (Creata pagina con "Una possibile soluzione, per modificare il valore di una o più Proprietà degli Oggetti posti sulla scheda attualmente in primo piano di una ''TabStrip'', è quella proposta...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Una possibile soluzione, per modificare il valore di una o più Proprietà degli Oggetti posti sulla scheda attualmente in primo piano di una TabStrip, è quella proposta nel codice dell'esempio che segue.

In tale esempio abbiamo una TabStrip formata da 6 schede, ciascuna contenente una TextLabel ed una Label. Premendo un tasto, posto sul Form ed al di fuori della TabStrip, si intende cambiare il valore della Proprietà ".Foreground" della TextLabel e della Proprietà ".Text" della Label poste sulla scheda in quel momento in primo piano.

Public Sub Form_Open()

 Dim j As Byte
 Dim tl As TextLabel
 Dim l As Label

' Inseriamo sei schede:
 TabStrip1.Count = 6

 For j = 0 To 5

' Intestiamo ciascuna scheda:
   TabStrip1[j].Text = CStr(j)
' Prendiamo in considerazione la scheda n. j :
   TabStrip1.Index = j
' Inseriamo una "TextLabel" nella scheda in considerazione:
   With tl = New TextLabel(TabStrip1)
     .X = 40
     .Y = 100
     .W = 100
     .H = 50
     .Text = "TextLabel " & CStr(j)
     .Border = Border.Plain
   End With
   
' Inseriamo una "Label" nella scheda in considerazione:
   With l = New Label(TabStrip1)
     .X = 40
     .Y = 200
     .W = 100
     .H = 50
     .Text = "Label " & CStr(j)
     .Border = Border.Plain
   End With

 Next

' Infine, mostriamo in primo piano la prima scheda:
 TabStrip1.Index = 0

End


Public Sub Button1_Click()

 Dim b As Object

' Prendiamo in considerazione gli Oggetti posti sulla scheda attualmente in primo piano:
 For Each b In TabStrip1[TabStrip1.Index].Children
   Select Case Object.Type(b)
     Case "TextLabel"
       b.Foreground = Color.Red
     Case "Label"
       b.Text = "Nuovo testo"
   End Select
 Next

End