Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2009, 09:30
principefreddy
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 10 meses
Puntos: 1
Sonrisa Colorear Columnas del Listview.?

hola tengo problemas con este codigo, es para colorear las columnas del ListView y el error me lo muestra en esta linea :

lv.ListItems(i).ForeColor = Color


y dice que el indice esta fuera de limites

'*************************************************

Código:
Sub ForeColorColumn(Color, Columna As Integer, lv As ListView)
    Dim Item As ListItem
    Dim i As Integer
    Dim l As Integer
    
    
    ' verifica que el control tenga item
    If lv.ListItems.Count = 0 Then Exit Sub
    
     ' Verifica que el Listview esté en vista de reporte
    If lv.View <> lvwReport Then
        MsgBox "el listview debe estar en vista reporte", vbQuestion
        Exit Sub
    End If

    ' Chequea que el indice de la columna sea valido
    If (Columna + l) > lv.ColumnHeaders.Count Then
        MsgBox "El número de columna está fuera del intervalo"
        Exit Sub
    End If
    
    ' Color de fuente para los items
    If Columna = 0 Then
        'recorre la lista
            For i = l To lv.ListItems.Count
                ' cambia el color de la fuente de la columna indicada
                    lv.ListItems(i).ForeColor = Color
            Next
            
    Else
    
        'recorre
            For i = l To lv.ListItems.Count
                'cambia el color de la columna indicada
                    lv.ListItems(i).ListSubItems(Columna).ForeColor = Color
            Next
    End If
    
    'Refresca el control
    lv.Refresh

End Sub

Código:
Private Sub Colorear_Columnas()

    ' Color verde para la columna 1
    Call ForeColorColumn(&H8000&, 0, lv)
    
    ' Color azul para la columna 2
     Call ForeColorColumn(&H8000000D, 1, lv)
     
    ' Color rojo para la columna 3
    Call ForeColorColumn(vbRed, 2, lv):-)

End Sub

alguien me ayuda. desde el load llamo a Colorear_Columnas