2009-09-25 8 views
0

일부 레거시 코드로 작업 중이며 일부 기준에 따라 VB6의 ListView에서 행의 배경색과 글꼴 색을 변경해야합니다. 행을 선택하고 선택하지 않으면 행의 색상을 변경해야합니다. .Foreground 속성을 통해 선택되지 않은 행의 글꼴 색을 변경할 수 있지만 다른 시나리오에서는 색을 변경할 수 없습니다.VB6에서 ListView의 배경색을 변경하십시오.

답변

1

선택한 행의 배경색은 시스템에서 제어합니다. 다른 것으로 변경할 수는 없습니다.

선택한 행의 배경을 변경할 수 있도록이 경우, 사용자 지정 목록보기 그릴 필요합니다 - 솔직히, 심각하게 :)

을 고려하는 고통의 너무 많이
2

체크 아웃은 forum post입니다. 여기

'\\ loop through the rows to select every other row 
For i = 1 To lvwBackColour.ListItems.Count 
    If (lvwBackColour.ListItems(i).Index Mod 2) = 0 Then 

     '\\ add a tick to the checkbox 
     lvwBackColour.ListItems(i).Checked = True 

     '\\ add the colour to the picturebox 
     '\\ See Here (http://msdn2.microsoft.com/en-us/library/aa230480(VS.60).aspx) 
     '\\ for information about the Line method 
     picBG.Line (0, i - 1)-(1, i), &H4000FF, BF 

     '\\ update column four caption 
     lvwBackColour.ListItems(i).SubItems(3) = "Hidden column value = 1" 

    Else 
     '\\ remove the tick from the checkbox 
     lvwBackColour.ListItems(i).Checked = False 

     '\\ reset backcolour to white 
     picBG.Line (0, i - 1)-(1, i), &HFFFFFF, BF 

     '\\ reset the Column Four caption 
     lvwBackColour.ListItems(i).SubItems(3) = "Hidden column value = 0" 
    End If 
Next i 

'\\ set the listview to use the picturebox image 
lvwBackColour.Picture = picBG.Image 

Line 메서드에 대해 이야기 MSDN 문서에 link있어 : 여기에 다른 모든 행은 색상 코드에서 샘플입니다.

관련 문제