vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
ListView-Spalte farbig darstellen 
Autor: Buggy
Datum: 25.11.06 08:39

Hallo zusammen,
ich habe folgenden Code im Forum gefunden, bei dem ich gerne wüsste, ob jemand weiß, wie man den selbigen abändern müsste, um zum Beispiel die markierte Zeile in Rot anzeigen und gleichzeitig die vorhergehende von Rot in Blau abändert.
Also ich markiere eine Zeile, sie wird Rot, ich markiere die nächste Zeile, dadurch sollen all die anderen die ich schon markiert hatte in Blau erscheinen.

'Mit nachfolgender Prozedur lassen sich die Einträge eines ListView-Controls in 
' einer
'bestimmten Farbe darstellen. Die Prozedur erwartet drei Parameter, die jetzt 
' kurz beschrieben werden sollen.
 
'lvw: ListView -Control
'lColor: Farbwert
'lColumn: Spalte, die "gefärbt" werden soll oder 0 für alle Spalten
'lRow: Zeile-Index oder 0 für alle Zeilen
 
Public Sub lvw_SetColor(lvw As ListView, _
  ByVal lColor As Long, ByVal lColumn As Long, _
  Optional ByVal lRow As Long = 0)
 
  Dim itemX As ListItem
  Dim iCols As Integer
  Dim i As Integer
 
  ' Anzahl Spalten ermitteln
  iCols = lvw.ColumnHeaders.Count
 
  If lRow > 0 Then
    ' nur bestimmte Zeile berücksichtigen
    If lRow <= lvw.ListItems.Count Then
      Set itemX = lvw.ListItems(lRow)
      If lColumn = 0 Then
        ' gesamte Spalten "einfärben"
        itemX.ForeColor = lColor
        For i = 1 To iCols - 1
          itemX.ListSubItems(i).ForeColor = lColor
        Next i
      Else
        ' bestimmte Spalte "einfärben"
        If lColumn = 1 Then
          ' 1. Spalte
          itemX.ForeColor = lColor
        Else
          ' SubItem
          itemX.ListSubItems(lColumn - 1).ForeColor = lColor
        End If
      End If
    End If
 
  Else
    ' alle Zeilen berücksichtigen
    For Each itemX In lvw.ListItems
      If lColumn = 0 Then
        ' gesamte Spalten "einfärben"
        itemX.ForeColor = lColor
        For i = 1 To iCols - 1
          itemX.ListSubItems(i).ForeColor = lColor
        Next i
      Else
        ' bestimmte Spalte "einfärben"
        If lColumn = 1 Then
          ' 1. Spalte
          itemX.ForeColor = lColor
        Else
          ' SubItem
          itemX.ListSubItems(lColumn - 1).ForeColor = lColor
        End If
      End If
    Next
  End If
 
  ' Wichtig! Neuzeichnen
  lvw.Refresh
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ListView-Spalte farbig darstellen1.507Buggy25.11.06 08:39

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel