Hola foreros!
antes que nada , gracias de antemano por su ayuda y por su tiempo.
La cuestion seria que intento darle formato a las filas del listvieew, el formato seria una fila color celeste, una color blanca, una color celeste, otra blanca, etc, etc.... y asi en todas las filas.
seria eso posible..?
Bueno estuve viendo, y la propiedad Backcolor solo sirve para el fondo de todo el listview, y quedaria maluco hacer que el fondo sea blanco, y que el color de la letra (Forecolor) de una fila sea roja, otra azul, otra roja, etc.
Igual te pongo el codigo por si queres hacer eso, me parece que el objeto mas apropiado en este caso es el Datagrid, pero no estoy muy seguro de ello, consulta a ver si ese es el que te permite intercambiar el color de fondo cada fila.
El codigo en Visual Basic
Private Sub Command1_Click()
Dim Color As Boolean
For i = 1 To ListView1.ListItems.Count
For j = 1 To ListView1.ListItems(i).ListSubItems.Count
If Color Then
ListView1.ListItems(i).ForeColor = vbBlue
ListView1.ListItems(i).ListSubItems(j).ForeColor = vbBlue
Else
ListView1.ListItems(i).ForeColor = vbRed
ListView1.ListItems(i).ListSubItems(j).ForeColor = vbRed
End If
Next j
Color = Not Color
Next i
ListView1.Refresh
End Sub
o mejor utiliza esta funcion, que en teoria es lo mismo, solo que se evoca de la siguiente forma
CambiaColorxFila Listview1, vbRed, vbBlue
Public Sub CambiaColorxFila(Lview As ListView, Color1 As OLE_COLOR, Color2 As OLE_COLOR)
Dim Color As Boolean
For i = 1 To Lview.ListItems.Count
For j = 1 To Lview.ListItems(i).ListSubItems.Count
If Color Then
Lview.ListItems(i).ForeColor = Color1
Lview.ListItems(i).ListSubItems(j).ForeColor = Color1
Else
Lview.ListItems(i).ForeColor = Color2
Lview.ListItems(i).ListSubItems(j).ForeColor = Color2
End If
Next j
Color = Not Color
Next i
Lview.Refresh
End Sub
Tenes que tener el Listview de nombre ListView1, el boton de comando de nombre Command1.
Si me equivoco pues corrijanmen :P
Saludos y espero servir de algo
Gracias compañero, aunque no es lo que busco lo probe y me sirve para algunas cuestiones por ahi , gracias nuevamente.
Pd.: estuve mirando en las propiedades del Grid pero no encontre nada acerca de intercalar color de fondo de las filas...
Hace mucho tiempo tuve esa inquietud para mi aplicacion
y buscando encontre y dapte estos code algo rudimentario pero al fin solucion:
1.- Opcion 1
este Utiliza un ListView y un Picturebox para emular los colores el las filas
'funcion que realiza pintar la filas utilizando un control tipo picture
Function ColoreaLv(lv As ListView)
Dim iWidth As Integer, iHeight As Integer
With Picture1
lv.PictureAlignment = lvwTile
.AutoRedraw = True
.AutoSize = True
.BorderStyle = vbBSNone
.ScaleMode = vbTwips
.Top = lv.SelectedItem.Top
.Width = lv.Width
.Height = lv.SelectedItem.Height * 2
iWidth = lv.Width
iHeight = lv.SelectedItem.Height
Picture1.Line (0, 0)-(iWidth, iHeight), vbRed, BF '&HC0FFC0
lv.Picture = Picture1.Image
End With
End Function
2.- Opcion 2
este Utiliza un ListView y un Picturebox para emular los colores el las filas
'/*******************************************************************/
'***************RUTINA PARA PINTAR LINEAS EL LISTVIEW****************
'/*******************************************************************/
'este esta en prueba
Private Sub PintarListview()
Dim i As Integer
'****** Inicializacion del Picture1 ******
Picture1.BackColor = ListView1.BackColor
Picture1.ScaleMode = vbTwips
Picture1.BorderStyle = vbBSNone
Picture1.AutoRedraw = True
Picture1.Visible = False
'****** Finacializacion del Picture1 ******
'****** Inicializacion adaptando al ancho y largo del las lineas del Listview ******
Picture1.Width = ListView1.Width
Picture1.Height = ListView1.ListItems(1).Height * (ListView1.ListItems.Count)
Picture1.ScaleHeight = ListView1.ListItems.Count
Picture1.ScaleWidth = 1
Picture1.DrawWidth = 1
Picture1.Cls
'****** Finalizacion adaptando al ancho y largo del las lineas del Listview ******
'****** Bucle para pintar las lineas del Listview ******
For i = 1 To ListView1.ListItems.Count
If i Mod 2 = 0 Then
'LINEA VERDE
Picture1.Line (0, i - 1)-(1, i), vbGreen, BF
Else
'LINEA AMARILLA
Picture1.Line (0, i - 1)-(1, i), vbYellow, BF
End If
Next
ListView1.Picture = Picture1.Image
End Sub
aca el pack de code:
http://www.savefile.com/files/993442
eso es esacto lo que buscaba, gracias por tu ayuda compañero, pueden cerrar el tema.-