![]() |
Datenbank: Oracle • Version: 10g • Zugriff über: ADO+ODBC
wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?
Hallo,
nochmal ich, nochmal DBGrid. Ich färbe die Zeilen meines DBGrids im OnDraw nach diversen Kriterien bunt. Nun hab ich aber das Problem, dass man den aktiven Datensatz nicht mehr sehen kann (außer an dem Pointer/Dreieck in der ersten Spalte). Wenn man nicht selber zeichnet würde ja der aktive Datensatz mit blauen Hintergrund und weißer Schrift angezeigt. Kann man das irgendwie erkenne, dass man gerade den aktiven DS zeichnet und das selber zeichnen (für diese Zeile) nicht machen? |
AW: wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?
Hab gerade kein Delphi hier, aber ich denke etwas in Richtung.
Delphi-Quellcode:
if not (gdSelected in State) then
begin // Dein Einfärben ... end; |
AW: wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?
Du kannst natürlich auch die Schriftfarbe in Kontrast zum farbigen Hintergrund bringen.
Delphi-Quellcode:
function Intensity(Color: TColor): Integer;
begin Color := ColorToRGB(Color); Result := GetBValue(Color) * 21 // Blue + GetGValue(Color) * 174 // Green + GetRValue(Color) * 61; // Red Result := Result shr 8; end; {************************************************************************** * NAME: BlackWhiteContrastColor * DESC: Berechne die Kontrastfarbe (nur schwarz oder weiss) * zur übergebenen Farbe *************************************************************************} function BlackWhiteContrastColor(value: TColor):TColor; begin if Intensity(value) >= 128 then Result := clBlack else Result := clWhite; end; |
AW: wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?
Zitat:
@shmia: Interessant. Muss ich mir mal in Ruhe angucken. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz