Dimensionamento ListBox

Storico discussioni

Userform e Listbox di Giuseppe
Ho una routine che mi dimensiona automaticamente una userform a tutto schermo ogni volta che cambio la risoluzione video. Il problema sta nelle listbox poichč non viene rispettata la proprieta "Columnwidth" e mi sfalsa l'allineamento delle colonne.

di apoben64
Ciao Giuseppe e benvenuto nel sito !!!
Ci sono due modi per impostare la listbox una nelle proprietą della listbox (tasto F4) "ColumnCount" e ColumnWidths" e l'altra immettendo manualmente nella "Private sub Userform_Activate()" il comando in cui selezioni i tuoi parametri , esempio :
Listbox1.ColumnCount = (colonne)
Listbox1.ColumnWidths= " 100;40;" ecc. (dimensione delle colonne)
Tu nel tuo lavoro cosa usi ?

di Mauro
Routine di partenza
Private Sub UserForm_Activate()
x = Application.UsableWidth
h = Application.UsableHeight
If x > 597 Then
xa = x / 597
ha = h / 309
With UserForm1
.Top = 1
.Left = 1
.Height = Application.UsableHeight + 130
.Width = Application.UsableWidth
End With
For Each ctr In UserForm1.Controls
ctr.Width = ctr.Width * xa
ctr.Height = ctr.Height * ha
ctr.Font.Size = ctr.Font.Size * xa
ctr.Top = ctr.Top * ha
ctr.Left = ctr.Left * xa
Next
End If
Exit sub


Sembra quasi un baco di visual basic nell'impostare le proprietą delle listbox.
Provando a cambiare l'ordinamento delle proprietą all'interno del ciclo:
For Each ctr In UserForm1.Controls
ctr.Font.Size = ctr.Font.Size * xa
ctr.Top = ctr.Top * ha
ctr.Left = ctr.Left * xa
ctr.Width = ctr.Width * xa
ctr.Height = ctr.Height * ha
Next

Adesso funziona meglio, almeno a me....

Cognolato Studio © 2005