Differenze tra le versioni di "Ridimensionare la larghezza della finestra a cascata di un ComboBox in base alla lunghezza testuale di un elemento"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per ridimensionare la larghezza della finestra a cascata di un ''ComboBox'' in base alla lunghezza testuale di un elemento, bisogna tenere conto di come è formato attualmente...")
 
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
Per ridimensionare la larghezza della finestra a cascata di un ''ComboBox'' in base alla lunghezza testuale di un elemento, bisogna tenere conto di come è formato attualmente detto Oggetto grafico.
+
#REDIRECT [[Ridimensionare la larghezza della finestra a cascata di un ComboBox in base alla lunghezza testuale di un elemento della lista]]
 
 
......
 
 
 
Mostriamo un esempio pratico:
 
Private Const LUNGCB As Byte = 60
 
 
 
'''Public''' Sub Form_Open()
 
 
  Dim pn As Panel
 
  Dim obs As Observer
 
 
  ComboBox1.W = LUNGCB
 
  ComboBox1.List = ["àèéìòù", "1234567890", "bbGTfddr", "abcde"]
 
  pn = ComboBox1.Children[0]
 
 
  obs = New Observer(pn) As "Panel1"
 
 
'''End'''
 
 
'''Public''' Sub Panel1_MouseDown()
 
 
  Dim c As Short
 
 
  c = Individua()
 
 
 
  ComboBox1.W = ComboBox1.Font.TextWidth(ComboBox1.List[c]) +
 
                (ComboBox1.Font.TextWidth(ComboBox1.List[c]) / ComboBox1.List[c].Len)
 
 
 
'''End'''
 
 
'''Private''' Function Individua() As Short
 
 
 
  Dim s As String
 
  Dim cc As New Short[]
 
  Dim c As Short
 
 
  For Each s In ComboBox1.List
 
<FONT Color=gray>' ''Assegna il valore di ciascuna quantità di caratteri:''</font>
 
    cc.Push(String.Len(s))
 
  Next
 
<FONT Color=gray>' ''Ordina in modo "discendente" i valori presenti nel vettore di tipo "Short":''</font>
 
  cc.Sort(gb.Descent)
 
 
  For c = 0 To cc.Max
 
<FONT Color=gray>' ''Individua l'indice dell'elemento contenente la quantità di caratteri maggiore:''</font>
 
    If cc[0] == String.Len(ComboBox1.List[c]) Then Break 
 
  Next
 
 
 
  Return c
 
 
 
'''End'''
 
 
'''Public''' Sub Panel1_MouseUp()
 
 
 
<FONT Color=gray>' ''Ripristina in chiusura della finestra del "ComboBox" la dimensione originaria di tale Oggetto grafico:''</font>
 
  ComboBox1.W = LUNGCB
 
  ComboBox1.Pos = 0
 
 
 
'''End'''
 
 
'''Public''' Sub ComboBox1_Click() 
 
 
  ComboBox1.W = LUNGCB
 
  ComboBox1.Pos = 0
 
 
 
'''End'''
 
 
 
 
 
<FONT Size=4 Color=red><B>PAGINA IN COSTRUZIONE !</b></font>
 

Versione attuale delle 07:35, 5 mag 2022