Ajustar el texto de una columna de un control listview en visual basic 6

Para poder ajustar toas las columnas de un listview al tamaño del texto que contenga, podremos utilizar la siguiente funcion de vb:

Visual Basic:
  1. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  2. (ByVal hwnd As Long, _
  3. ByVal wMsg As Long, _
  4. ByVal wParam As Long, _
  5. lParam As Any) As Long
  6.  
  7. Private Sub AutosizeColumns(ByVal TargetListView As ListView)
  8.  
  9. Const SET_COLUMN_WIDTH  As Long = 4126
  10. Const AUTOSIZE_USEHEADER As Long = -2
  11.  
  12. Dim lngColumn As Long
  13.  
  14. For lngColumn = 0 To (TargetListView.ColumnHeaders.Count - 1)
  15.  
  16. Call SendMessage(TargetListView.hwnd, _
  17. SET_COLUMN_WIDTH, _
  18. lngColumn, _
  19. ByVal AUTOSIZE_USEHEADER)
  20.  
  21. Next lngColumn
  22.  
  23. End Sub

Para llamarlo tansolo invocarlo de esta forma:

Visual Basic:
  1. Call AutosizeColumns(ListView1)  ' alinea el listview

No es posible declarar la funcion privada en un módulo de codigo independiente, así que es necesario ponerlo en las declaracions del propio objeto form, donde este el listview

script obtenido en binaryWorld

Existe otra función que nos permite ajustar el column with de un listview por cada columna independientemente, a podeis ir a  ver en : ajustar listview

Etiquetas: , , , ,

Deja un comentario

CAPTCHA Image Audio Version
Reload Image