Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Enero 27, 2012, 02:41:07 pm

Título: Personalizar Grilla ListView
Publicado por: E N T E R en Enero 27, 2012, 02:41:07 pm
Hay una forma de dejar asi el control ListView.

(http://img543.imageshack.us/img543/126/clientese.jpg) (http://imageshack.us/photo/my-images/543/clientese.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

http://img543.imageshack.us/img543/126/clientese.jpg (http://img543.imageshack.us/img543/126/clientese.jpg)
Título: Re:Personalizar Grilla ListView
Publicado por: raul338 en Enero 27, 2012, 11:52:42 pm
Vos decis con los separaadores entre columnas ?
Título: Re:Personalizar Grilla ListView
Publicado por: ADONAIRAFA en Enero 28, 2012, 12:42:34 am
Saludos ENTER !!!

Lo estás ofreciendo o estás preguntando? (y disculpa mi pregunta viejo !!!).

Otra cosa, si lo tienes, puedes subirlo para probarlo (solo si se puede ¿no?)


Saludos !!!

Manuel F. Borrego S. 8)
Barcelona, Venezuela.
Título: Re:Personalizar Grilla ListView
Publicado por: Virgil Tracy en Enero 28, 2012, 05:28:10 am
Con la misma tecnica que se utiliza para hacer ledger (tipo zebra), se puede simular unas lineas verticales como separador de columnas

Pone un listview 6 y un picture en un formulario

Código: (VB) [Seleccionar]
Option Explicit

Private Sub Form_Load()

InitListView

VerticalLines

End Sub

Private Sub InitListView()
Dim i As Long
Dim lvi As ListItem

With ListView1
   .ListItems.Clear
   .ColumnHeaders.Clear
   .ColumnHeaders.Add , , "Col 1"
   .ColumnHeaders.Add , , "Col 2"
   .ColumnHeaders.Add , , "Col 3"
   .ColumnHeaders.Add , , "Col 4"
   .View = lvwReport
End With

For i = 1 To 100

   Set lvi = ListView1.ListItems.Add()
   lvi.Text = i
   lvi.SubItems(1) = i
   lvi.SubItems(2) = i
   lvi.SubItems(3) = i
     
Next
   
End Sub

Private Sub VerticalLines()
Dim i As Long

If ListView1.View <> lvwReport Then Exit Sub
If ListView1.ListItems.Count = 0 Then Exit Sub

With Picture1
     .AutoRedraw = True
     .Visible = False
     .BackColor = vbWhite
End With

With ListView1

     .PictureAlignment = lvwTile

     Picture1.Cls
     Picture1.Width = .Width
     Picture1.Height = Screen.Height
     
     For i = 1 To .ColumnHeaders.Count
         Picture1.Line (i * .ColumnHeaders(i).Width, 0)-(i * .ColumnHeaders(i).Width, Picture1.ScaleHeight), vbRed
     Next
     
     Picture1.Refresh

     Set .Picture = Picture1.Image

End With

End Sub


No olvidar que si se cambia el ancho de alguna columna se debe volver a crear los separadores  ;D
Título: Re:Personalizar Grilla ListView
Publicado por: E N T E R en Enero 28, 2012, 11:58:55 am
Si por las lineas verticales estoy preguntando como se puede hacer. Virgil Tracy funciona bien pero al cambiar el tamaño de las columnas no se ajusta las lineas
Título: Re:Personalizar Grilla ListView
Publicado por: raul338 en Enero 28, 2012, 01:04:19 pm
Al cambiar el tamaño de las columnas tienes que volver a llamar a la funcion :P