OVH Cloud OVH Cloud

ListBox

1 réponse
Avatar
patrice henrio
Est-il possible que la largeur de colonne d'un ListBox à une colonne soit
définit pour que tous les mots de la liste soit affiché en entier.
Une sorte d'Autosize par exemple.
merci.

1 réponse

Avatar
Sundowne
'Jour
J'utilise la sub suivante en mode report avec columheader donc:

Public Sub lvAutosizeControl(LV As ListView)

Dim col2adjust As Long
'listview column auto-resizing

'/* Size each column based on the maximum of
'/* EITHER the columnheader text width, or,
'/* if the items below it are wider, the
'/* widest list item in the column
For col2adjust = 0 To LV.ColumnHeaders.Count - 1

Call SendMessage(LV.hwnd, _
LVM_SETCOLUMNWIDTH, _
col2adjust, _
ByVal LVSCW_AUTOSIZE_USEHEADER)
Next

'pour ajuster les images si necessaires
'les chiffres sont bizarre !!! mais ok
LV.ColumnHeaders(1).Width = LV.ColumnHeaders(1).Width + 20
LV.ColumnHeaders(LV.ColumnHeaders.Count).Width LV.ColumnHeaders(LV.ColumnHeaders.Count).Width - 600
End Sub

Public Declare Function SendMessage Lib "User32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal _
wParam As Long, lParam As Any) As Long

Public Const LVM_FIRST As Long = &H1000
Public Const LVM_SETCOLUMNWIDTH As Long = (LVM_FIRST + 30)
Public Const LVSCW_AUTOSIZE_USEHEADER As Long = -2

La sub fonctionne parfaitement en mode report sans smallicon ;-) Avec
icone il faut ajuster !
@+


"patrice henrio" a écrit dans le message de
news:
Est-il possible que la largeur de colonne d'un ListBox à une colonne soit
définit pour que tous les mots de la liste soit affiché en entier.
Une sorte d'Autosize par exemple.
merci.