Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/10/2008, 08:36
Avatar de culd
culd
 
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Respuesta: Color en toda la fila de un listview

Listview solo permite colorear LAS LETRAS, no el FONDO... Es decir, podes colorear TODO EL FONDO COMPLETO, pero no linea por linea, ó campo por campo

Si queres colorear todo el fondo (osea en vez de blanco otro color) es sensillo

Código:
ListView.BackColor = ELCOLOR
Ahora si queres colorear la letra de alguna linea tenes en las FAQ un codigo mio, te lo pongo igual aca

Código:
'========== Codigo realizado por CULD ==========
'============= [email protected] ===============
'Descripcion: Sub proceso al cual se le envian los parametros
'LISTVIEW, LINEA, COLOR, y automaticamente cambia el color de esa linea
'-----------------------------------------------
Public Sub ListView_ColorearLinea(LaLista As ListView, Linea As Long, Color As Long)
Dim X As Integer

'Verifico si la linea que quiere modificar existe
If Linea > LaLista.ListItems.Count Then
    Exit Sub
End If

'modifico el color de la primer columna
LaLista.ListItems(Linea).ForeColor = Color

'modifico el color de las demas columnas
For X = 1 To LaLista.ColumnHeaders.Count - 1
    'verifico que el subitem tenga algo escrito, por que si no tiene nada tira
    'error de "subindice fuera de intervalo"
    If Trim(LaLista.SelectedItem.SubItems(X) <> "") Then
        LaLista.ListItems(Linea).ListSubItems(X).ForeColor = Color
    End If
Next X

'actualizo el list para que se vean los cambios
LaLista.Refresh
End Sub
Le envias los parametros y listo...

Si queres que te coloree todas las lineas tenes que recorrer con un for toda la lista

Código:
Dim X as Long
For X = 1 To ListView.ListItems.Count
     Call ListView_ColorearLinea(ListView, X, ELCOLOR)
Next X