![]() |
Stringgrid flackert
Hallo,
ich habe mal wieder ein Problemchen. Ich habe ein Stringgrid und möchte, dass der Text der 1. Zeile in rot erscheint. Daher habe ich in das OnDrawEvent des Grids folgendes eingebaut:
Delphi-Quellcode:
Dummerweise ist nun die 2.(!) Zeile rot und das ganze Grid flackert, als würde es permanent neu gezeichnet.
procedure TForm1.gridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if (ARow=0) then grid.Font.Color := clRed else grid.Font.Color := clBlack; end; Was habe ich denn falsch gemacht? :gruebel: |
Re: Stringgrid flackert
Zitat:
des gesamten Grids. Du musst mit dem Canvas des Grids arbeiten:
Delphi-Quellcode:
PS: guckst du da:
procedure TForm1.gridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var canvas : TCanvas; begin canvas := grid.Canvas; // temp. Variable zwecks Geschwindigkeit if (ARow=0) then canvas.Font.Color := clRed else canvas.Font.Color := clBlack; end; ![]() falls du auch den Hintergrund einfärben willst und die Schriftfarb im Kontraste zum Hintergrund sein soll. |
Re: Stringgrid flackert
Habe Deinen Code gerade mal ausprobiert, das Flackern ist auch weg, allerdings ist der Text der 1. Zeile nicht rot.
Wenn ich irgendwo z.B.
Delphi-Quellcode:
aufrufe, wird doch das OnDrawEvent aufgerufen, oder?
grid.Cells[0,0] := 'abc';
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 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