Listview - AlternateColors Calculated

  • Um im Listview die Zeilen abwechselnd zu färben werden mit GuiCtrlSetBkColor($Listview, COLOR_ODD) die Farbe für die ungeraden Zeilen bestimmt und das Setzen des Flag GUICtrlSetBkColor($Listview, $GUI_BKCOLOR_LV_ALTERNATE) ermöglicht dann bei der Erstellung der ListviewItem mit GuiCtrlSetBkColor($Listview, COLOR_EVEN) die Färbung der geraden Zeilen zu definieren.

    Optisch gefällt mir an der Variante nicht, dass der gesamte Listviewhintergrund (auch ohne Dateninhalt) eingefärbt wird.

    Zum anderen wäre es doch praktisch, die alternative Farbe automatisch zu bestimmen, wenn man keinen speziellen Wunsch hat. (Diese Möglichkeit habe ich in Nim entdeckt)

    Ich habe das noch kombiniert mit der Berechnung der Farbe für den Text (Farbe für hellen oder dunklen Hintergrund), damit ein ausreichender Kontrast zum Lesen vorhanden ist. Gefärbt werden nun ausschließlich die mit Daten befüllten Item.

    Vielleicht könnt ihr es brauchen.

    EDIT: Da war noch ein Fehler drin. Durch die Berechnung entstanden Floatzahlen, die durch die Funktion Hex nicht verarbeitet werden können.

    Zusätzlich wird jetzt ohne Angabe von Farben weiß/grau verwendet.

    Standard:

    [_LV_SetAlternateBkColor] User setzt Farbe für odd und even:

    [_LV_SetAlternateBkColor] User setzt nur Farbe für odd: