Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid: Beim Verlassen d. Zelle ändert sich Schriftfarbe (https://www.delphipraxis.net/1139-stringgrid-beim-verlassen-d-zelle-aendert-sich-schriftfarbe.html)

GG 23. Okt 2002 12:07


StringGrid: Beim Verlassen d. Zelle ändert sich Schriftfarbe
 
Hallo!
Ich habe auf meiner Form ein TEdit-Feld und ein StringGrid, bei dem ich die ungeraden Zeilen hellgelb eingefärbt habe und die geraden Zeilen weiß gelassen habe. Die einzelnen Zellen habe in schwarzer Schrift gefüllt.

Klicke ich jetzt z.B. in Cells[1,1] (hellgelb) und sofort anschliessend in das TEdit-Feld, dann wird die Schrift auf weiß invertiert und ist fast nicht mehr sichtbar.
Weiss jemand wie man dies verhindern kann? Vielleicht habe ich ein Problem beim Einfärben? Ich denke aber eher aber, das es irgendwas mit markieren/selektieren der Zelle zutun hat?

Code:
procedure TForm1.sgDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if odd(ARow) then
  begin //bei ungeraden Zeilen
    sg.Canvas.Brush.Color := clHellGelb;
    sg.Canvas.FillRect(Rect);
    sg.Font.Color := clBlack ;
    sg.Canvas.Textout(Rect.Left+2, Rect.Top+2, sg.Cells[ACol, ARow]);
  end;

end;

Für Eure Hilfe schon mal vielen Dank im voraus!

Gruß GG

GG 28. Okt 2002 09:11

Jester hat das gleiche Problem im Forum Sonstige als Thema "StringGrid-Zelle während dem editieren farbig?" beschrieben.

Sakura hat dazu die Lösung mit der der Unit ExtStringGrid.Pas. Das werde ich heute noch ausprobieren! Danke.

Gruß GG

sakura 28. Okt 2002 09:15

Warum habe ich am 14. Deine Frage nicht gesehen :?: Sorry :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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