COLORIR LISTVIEW

ISABELLASILVA 19/11/2017 14:36:40
#477969
Bom dia, pessoal!

Precisaria de um código completo para fazer as linhas de fundo da minha listview mudar de cor, não como zebrada, mas para que possa fazer uma legenda com as cores e seus critérios,
como sou iniciante precisaria de uma ajuda de vcs...
estou usando vb6

Atenciosamente,
Bella.
JLIMA89 19/11/2017 20:22:43
#477973
Pode mudar apenas a cor do que está escrito na linha?
OMAR2011 19/11/2017 20:52:20
#477974
Iniciante que sabe preencher um Listview com dados de uma tabela ou não sabe.
ISABELLASILVA 20/11/2017 08:52:35
#477976
Bom dia,
Minha listview já esta carregando,
o que precisa que fique colorido o fundo da listview, para as letras já tenho código, mas para o fundo não consegui ainda,
a intenção é criar uma legenda com cores...
LUIS2014 20/11/2017 10:31:13
#477980
Se já consegue mudar a cor da fonte, então use o mesmo método com backcolor.

Citação:

ListView1.Items(i).SubItems(1).BackColor = VbRed

ISABELLASILVA 20/11/2017 11:45:27
#477982
Luis2014, Obrigada por me responder!

Não foi possível usar o BackColor porque estou usando este código

Public Sub ColorListviewRow(LV As ListView, RowNbr As Long, RowColor As OLE_COLOR)

Dim itmX As ListItem
Dim lvSI As ListSubItem
Dim intIndex As Long
On Error GoTo ErrorRoutine
Set itmX = LV.ListItems(RowNbr)
itmX.ForeColor = RowColor
For intIndex = 1 To LV.ColumnHeaders.Count [ô]- 1
Set lvSI = itmX.ListSubItems(intIndex)
lvSI.ForeColor = RowColor
Next
Set itmX = Nothing
Set lvSI = Nothing
Exit Sub
ErrorRoutine:
[ô] MsgBox Err.Description
End Sub

Tentei mudar do ForeColor para o BackColor, mas não funcionou,
pensei que tivesse um código, de API algo neste sentido que facilitasse o dia a dia.
OMAR2011 20/11/2017 12:01:06
#477983
Listview vb6 acho que não tem BackColor
LUIS2014 isto não do Vbnet
OMAR2011 20/11/2017 12:07:45
#477985
ISABELLASILVA este código faz apenas uma linha do Listview mudar a cor.
Para mudar a cor do ForeColor com condição é bem melhor.
LUIS2014 20/11/2017 13:28:24
#477988
hum, mudar o componente para o msflexgrid é uma opção?
é até melhor do que o listview.
acho que o listview do vb6 não permite trocar a cor da célula, ele sempre vai trocar a cor do listview todo.
ISABELLASILVA 20/11/2017 13:58:34
#477991
Ninguém tem um código para colorir listview para me ajudar? me refiro ao fundo não a fonte...
lembrando que estou usando vb6

atenciosamente,
FABRICIOWEB 20/11/2017 16:11:40
#477997
Resposta escolhida
[ô]-------------------------------
[ô] FUNÇÃO PARA ZEBRAR O LISTVIEW
[ô]-------------------------------
Private Sub AltLVBackground(lv As ListView, _
ByVal BackColorOne As OLE_COLOR, _
ByVal BackColorTwo As OLE_COLOR)
[ô]---------------------------------------------------------------------------------
[ô] Purpose : Alternates row colors in a ListView control
[ô] Method : Creates a picture box and draws the desired color scheme in it, then
[ô] loads the drawn image as the listviews picture.
[ô]---------------------------------------------------------------------------------
Dim lh As Long
Dim lSM As Byte
Dim picAlt As PictureBox
With ListView1
If .View = lvwReport And .ListItems.count Then
Set picAlt = Me.Controls.Add([Ô]VB.PictureBox[Ô], [Ô]picAlt[Ô])
lSM = .Parent.ScaleMode
.Parent.ScaleMode = vbTwips
.PictureAlignment = lvwTile
lh = .ListItems(1).Height
With picAlt
.BackColor = BackColorOne
.AutoRedraw = True
.Height = lh * 2
.BorderStyle = 0
.Width = 10 * Screen.TwipsPerPixelX
picAlt.Line (0, lh)-(.ScaleWidth, lh * 2), BackColorTwo, BF
Set ListView1.Picture = .image
End With
Set picAlt = Nothing
Me.Controls.Remove [Ô]picAlt[Ô]
ListView1.Parent.ScaleMode = lSM
End If
End With
End Sub



evento clik, change, load
AltLVBackground ListView1, vbWhite, &HFFFFC0


Finalize o top depois de resolvido okok
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas