Hola!!
Creo que el listbox no se ajusta al texto... eso lo hace el listview, te dejo este codigo que le pone una barra horizontal al listbox:
Código vb:
Ver original'EN EL FORM
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Private Const LB_SETHORIZONTALEXTENT = &H194
Public Sub SetListboxScrollbar(Lst As ListBox)
Dim I As Integer
Dim New_len As Long
Dim Max_len As Long
For I = 0 To Lst.ListCount - 1
New_len = 10 + ScaleX(TextWidth(Lst.List(I)), ScaleMode, vbPixels)
If Max_len < New_len Then Max_len = New_len
Next I
SendMessage Lst.hwnd, LB_SETHORIZONTALEXTENT, Max_len, 0
End Sub
---
'EN EL FORM_LOAD
SetListboxScrollbar lst
Para autoajustar el listview:
Código vb:
Ver original'EN UN MODULO
'constantes para usar con SendMessage
Private Const LVM_FIRST As Long = &H1000
Private Const LVM_SETCOLUMNWIDTH As Long = LVM_FIRST + 30
' Declaración del Api SendMessage para hacer el AutoSize de las columnas
Private 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 Sub Ajustar_Ancho_Columna(El_ListView As ListView, _
ByVal Modo_De_Ajuste As Long)
Dim La_Columna As Long
With El_ListView
'Recorre los encabezados
For La_Columna = 1 To .ColumnHeaders.Count
' Aplica el Autoajuste ( -1 mediante el item, -2 mediante el caption de la columna)
Call ListView_AutoSize(El_ListView, La_Columna, Modo_De_Ajuste)
Next
End With
End Sub
Private Sub ListView_AutoSize(El_ListView As ListView, _
ByVal La_Columna As Long, _
ByVal Modo_De_Ajuste As Long)
With El_ListView
'si no está el ListView en modo reporte sale
If .View = lvwReport Then
'Si hay columnas
If La_Columna >= 1 And La_Columna <= .ColumnHeaders.Count Then
'Establece el Autosize
Call SendMessage(.hwnd, LVM_SETCOLUMNWIDTH, _
La_Columna - 1, ByVal Modo_De_Ajuste)
End If
End If
End With
End Sub
'-------------------------------------------------------
'PARA LLAMAR LUEGO DEL LLENADO DEL LISTVIEW
'(-1) Ajusta las columnas al elemento mas largo de cada columna
'(-2) Ajusta los encabezados teniendo en cuenta el caption del columnHeader
Call Ajustar_Ancho_Columna(LISTVIEW, -2)