CORES LISTVIEW VB6
Prezados...
Estou com dúvidas referente a adicionar cor nas linhas do listview.
Por exemplo, quero que a linha 1 do listview seja de cor vermelha e a linha 2 do listview seja da cor branca, simplesmente isso.
Estudei uma maneformas de como fazer isso:
lvwLista.ListItems(0).ListSubItems(0).ForeColor = red
Porém dá o erro em [ô]red[ô].
Se souberem alguma outra rotina para fazer isso via [ô]código fonte[ô], aguardo instruções.
Fico no aguardo, obrigado.
Estou com dúvidas referente a adicionar cor nas linhas do listview.
Por exemplo, quero que a linha 1 do listview seja de cor vermelha e a linha 2 do listview seja da cor branca, simplesmente isso.
Estudei uma maneformas de como fazer isso:
lvwLista.ListItems(0).ListSubItems(0).ForeColor = red
Porém dá o erro em [ô]red[ô].
Se souberem alguma outra rotina para fazer isso via [ô]código fonte[ô], aguardo instruções.
Fico no aguardo, obrigado.
Não sei se a instrução está certa, mas a cor seria:
lvwLista.ListItems(0).ListSubItems(0).ForeColor = [txt-color=#e80000]VbRed[/txt-color]
lvwLista.ListItems(0).ListSubItems(0).ForeColor = [txt-color=#e80000]VbRed[/txt-color]
Prezados...
Conforme testes realizados, não deu nenhuma alteração no meu listview com o código acima.
Aguardo instruções novas, obrigado.
Conforme testes realizados, não deu nenhuma alteração no meu listview com o código acima.
Aguardo instruções novas, obrigado.
Adicione um picturebox.
Achado na net.
[ô]----------------------------------------------------------------------------------------------------------------------------------------
[ô] FUNÇÃO PARA ZEBRAR O LISTVIEW
[ô]----------------------------------------------------------------------------------------------------------------------------------------
Function LVZebra(lv As ListView, Pic As PictureBox, Cor1 As Long, Cor2 As Long) As Boolean
Dim lHght As Long
Dim lWdth As Long
LVZebra = False
If lv.View <> lvwReport Then Exit Function
If lv.ListItems.Count = 0 Then Exit Function
With lv
.Picture = Nothing
.Refresh
.Visible = True
.PictureAlignment = lvwTile
lWdth = .Width
End With
With Pic
.AutoRedraw = False
.Picture = Nothing
.BackColor = vbWhite
.Height = 1
.AutoRedraw = True
.BorderStyle = vbBSNone
.ScaleMode = vbTwips
.Top = Me.Top - 10000
.Width = Screen.Width
.Visible = False
.Font = lv.Font
With .Font
.Bold = lv.Font.Bold
.Charset = lv.Font.Charset
.Italic = lv.Font.Italic
.Name = lv.Font.Name
.Strikethrough = lv.Font.Strikethrough
.Underline = lv.Font.Underline
.Weight = lv.Font.Weight
.Size = lv.Font.Size
End With
lHght = lv.ListItems(1).Height
.Height = lHght * 2
.Width = lWdth
Pic.Line (0, 0)-(lWdth, lHght), Cor1, BF
Pic.Line (0, lHght)-(lWdth, (lHght * 2)), Cor2, BF
.AutoSize = True
.Refresh
End With
lv.Refresh
lv.Picture = Pic.Image
LVZebra = True
End Function
Private Sub Form_Load()
Dim i As Integer
[ô]Insere dados
For i = 1 To 100
ListView1.ListItems.Add i
ListView1.ListItems(i).SubItems(1) = [Ô]Sou o nome de número [Ô] & i
Next
[ô]Insere linhas de separação e seleciona a linha toda
ListView1.GridLines = True
ListView1.FullRowSelect = True
[ô]Zebra o listview
If LVZebra(ListView1, Picture1, vbRed, vbWhite) = False Then Exit Sub
End Sub
Achado na net.
[ô]----------------------------------------------------------------------------------------------------------------------------------------
[ô] FUNÇÃO PARA ZEBRAR O LISTVIEW
[ô]----------------------------------------------------------------------------------------------------------------------------------------
Function LVZebra(lv As ListView, Pic As PictureBox, Cor1 As Long, Cor2 As Long) As Boolean
Dim lHght As Long
Dim lWdth As Long
LVZebra = False
If lv.View <> lvwReport Then Exit Function
If lv.ListItems.Count = 0 Then Exit Function
With lv
.Picture = Nothing
.Refresh
.Visible = True
.PictureAlignment = lvwTile
lWdth = .Width
End With
With Pic
.AutoRedraw = False
.Picture = Nothing
.BackColor = vbWhite
.Height = 1
.AutoRedraw = True
.BorderStyle = vbBSNone
.ScaleMode = vbTwips
.Top = Me.Top - 10000
.Width = Screen.Width
.Visible = False
.Font = lv.Font
With .Font
.Bold = lv.Font.Bold
.Charset = lv.Font.Charset
.Italic = lv.Font.Italic
.Name = lv.Font.Name
.Strikethrough = lv.Font.Strikethrough
.Underline = lv.Font.Underline
.Weight = lv.Font.Weight
.Size = lv.Font.Size
End With
lHght = lv.ListItems(1).Height
.Height = lHght * 2
.Width = lWdth
Pic.Line (0, 0)-(lWdth, lHght), Cor1, BF
Pic.Line (0, lHght)-(lWdth, (lHght * 2)), Cor2, BF
.AutoSize = True
.Refresh
End With
lv.Refresh
lv.Picture = Pic.Image
LVZebra = True
End Function
Private Sub Form_Load()
Dim i As Integer
[ô]Insere dados
For i = 1 To 100
ListView1.ListItems.Add i
ListView1.ListItems(i).SubItems(1) = [Ô]Sou o nome de número [Ô] & i
Next
[ô]Insere linhas de separação e seleciona a linha toda
ListView1.GridLines = True
ListView1.FullRowSelect = True
[ô]Zebra o listview
If LVZebra(ListView1, Picture1, vbRed, vbWhite) = False Then Exit Sub
End Sub
Essa rotina é boa, funciona. Obrigado OMAR2011.
Se alguém souber alguma nova rotina, me informar.
Se alguém souber alguma nova rotina, me informar.
Bom dia a todos!
Utilizo a função a seguir:
Dim I As Integer
Dim ZEBRADO As Boolean = True
Dim Pinta_Cor As Color = Color.PowderBlue
Dim Desfaz_Cor As Color = Color.White
If ListView1.Items.Count <> 0 Then
For I = 0 To ListView1.Items.Count - 1
If ZEBRADO = True Then
ListView1.Items(I).BackColor = Pinta_Cor
ZEBRADO = False
Else
ListView1.Items(I).BackColor = Desfaz_Cor
ZEBRADO = True
End If
Next
End If
Utilizo a função a seguir:
Dim I As Integer
Dim ZEBRADO As Boolean = True
Dim Pinta_Cor As Color = Color.PowderBlue
Dim Desfaz_Cor As Color = Color.White
If ListView1.Items.Count <> 0 Then
For I = 0 To ListView1.Items.Count - 1
If ZEBRADO = True Then
ListView1.Items(I).BackColor = Pinta_Cor
ZEBRADO = False
Else
ListView1.Items(I).BackColor = Desfaz_Cor
ZEBRADO = True
End If
Next
End If
Tópico encerrado , respostas não são mais permitidas