AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?
Thema durchsuchen
Ansicht
Themen-Optionen

wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?

Ein Thema von Jumpy · begonnen am 29. Jun 2012 · letzter Beitrag vom 29. Jun 2012
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?

  Alt 29. Jun 2012, 14:05
Datenbank: Oracle • Version: 10g • Zugriff über: ADO+ODBC
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?
Ralph
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#2

AW: wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?

  Alt 29. Jun 2012, 14:14
Hab gerade kein Delphi hier, aber ich denke etwas in Richtung.
Delphi-Quellcode:
if not (gdSelected in State) then
begin
  // Dein Einfärben ...
end;
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?

  Alt 29. Jun 2012, 14:49
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;
Andreas
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: wie beim DBGrid OnColumnDraw aktuellen Datensatz ermitteln?

  Alt 29. Jun 2012, 15:09
Hab gerade kein Delphi hier, aber ich denke etwas in Richtung.
Delphi-Quellcode:
if not (gdSelected in State) then
begin
  // Dein Einfärben ...
end;
Jo das wars. "State" hät ich mir ja auch mal selber angucken können. Danke.

@shmia: Interessant. Muss ich mir mal in Ruhe angucken.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz