Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   dbGrid Farbe der ausgewählten Zeile ändern (https://www.delphipraxis.net/163839-dbgrid-farbe-der-ausgewaehlten-zeile-aendern.html)

Panschi 18. Okt 2011 15:09

Datenbank: MSQL • Version: 2005 • Zugriff über: ADO

dbGrid Farbe der ausgewählten Zeile ändern
 
Hallo,
Ich habe schon wieder ein Problem mit einem dbGrid. Mit der Prozedur OnDrawColumnCell werden bestimmte Zeilen des dbGrids in unterschiedlichen Farben angezeigt: hier der Code soweit:

Delphi-Quellcode:
procedure TFMain.DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);

var Farbe: TColor;

begin
  case ArrayVeraendert[QrySlave.RecNo].Farbe of
    1: Farbe := TColor($00B0FFFF);
    2: Farbe := TColor($00A69EFF);
    else Farbe := clWhite;
  end;
  //Hintergrundfarbe
  TDBGrid(Sender).Canvas.Brush.Color := Farbe;
  TDBGrid(Sender).Canvas.Brush.Style := bsSolid;
  TDBGrid(Sender).Canvas.Pen.Style := psclear;
  TDBGrid(Sender).Canvas.FillRect(Rect);
  //Text
  TDBGrid(Sender).Canvas.Pen.Style := psSolid;
  TDBGrid(Sender).Canvas.Pen.Color := clBlack;
  TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Das klappt soweit super, nur wird das Element, welches ich mit der Maus auswähle in weißer schrift geschrieben, was besonders bei weißem Hintergrund nervig ist. Was muss ich ändern, um die Schrift einfach immer Schwarz zu lassen?

Alex.G 18. Okt 2011 15:17

AW: dbGrid Farbe der ausgewählten Zeile ändern
 
Closed

Panschi 18. Okt 2011 15:19

AW: dbGrid Farbe der ausgewählten Zeile ändern
 
Delphi-Quellcode:
TDBGrid(Sender).Canvas.Font.Color := clBlack;
das fehlte! Wie Alex schon schrieb: Closed


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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-2025 by Thomas Breitkreuz