![]() |
AW: Stringgrid zeilen färben
Das Du vorhast, geht nur mit OwnerDrawing. Sonst wird das, was Du zeichnest beim nächsten Redraw automatisch wieder übermalt.
Und dazu gibt es in den vorigen Antworten diverse Beispiele. |
AW: Stringgrid zeilen färben
und OnDrawCell
|
AW: Stringgrid zeilen färben
... ok, Danke euch beiden. Da ich bereits ein StringGrid habe und nutze, mein Gedanke sich aber wohl nicht "einfach" umsetzen lässt, wurde der Gedanke an "bunte Zeilen" verworfen.
Danke schön & schönes Wochenende :-) |
AW: Stringgrid zeilen färben
Zitat:
Du musst darauf reagieren, dass der Inhalt neu gezeichnet werden muss. Deshalb bringt es nichts, wenn du es nur einmalig per Buttonklick zeichnest. Stell DefaultDrawing auf False, dann kannst du im OnDrawCell z.B. das machen:
Delphi-Quellcode:
procedure TForm.StringGridDrawCell(Sender: TObject; ACol, ARow: LongInt; Rect: TRect; State: TGridDrawState);
var Grid: TStringGrid; begin Grid := Sender as TStringGrid; if gdFixed in State then begin Grid.Canvas.Brush.Color := clInactiveCaption; Grid.Canvas.Font.Color := clBlack; end else if gdSelected in State then begin Grid.Canvas.Brush.Color := clHighlight; Grid.Canvas.Font.Color := clHighlightText; end else begin if Grid.Cells[ACol, ARow] = 'x' then Grid.Canvas.Brush.Color := clRed else Grid.Canvas.Brush.Color := clWindow; Grid.Canvas.Font.Color := clWindowText; end; Grid.Canvas.FillRect(Rect); Grid.Canvas.TextOut(Rect.Left + 3, Rect.Top + 3, Grid.Cells[ACol, ARow]); end; |
AW: Stringgrid zeilen färben
Hallo Sebastian,
vielen Dank, nun habe ich es verstanden, was ihr gemeint habt. Jetzt versuche ich nicht nur eine Zelle zu färben, sondern die ganze Zeile - Das sollte ich aber hinbekommen, wenn ich den Code komplett kapiert habe ;-) Vielen Dank noch mal LG DieFliege |
AW: Stringgrid zeilen färben
Hallo,
Du mußt Deinen Code bei OnDrawCell des Grid's unterbringen. MfG |
AW: Stringgrid zeilen färben
Zitat:
Bei der ganzen Zeile wäre es aber ungünstig, wenn sie komplett andersfarbig wird und die blaue Selektion vollständig überdeckt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 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