![]() |
StringGrind: Hintergrundfarbe bei editierter Zelle ändern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe eine StringGrid (siehe Anhang), die als Farbe clNavy hat. Wenn auf eine Zelle geklickt wird, kann man sie ändern - nur leider ist dann die Hintergrundfarbe dieser Zelle weiss, statt clNavy. Ich hab schon versucht, dies im OnDrawCell umzuzeichnen, nur leider ist es mir nicht gelungen. Vielleicht kann mir jemand helfen, dies zu vollziehen. mein OnDrawCell schaut so aus:
Delphi-Quellcode:
procedure TForm2.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var Diff_Left : Integer; Diff_Top : Integer; S_Text : String; begin with (Sender as TStringGrid) do begin //Text auslesen S_Text := Cells[ACol, ARow]; If (gdFocused in State) then //Laut Hilfe, tritt es ein wenn editiert wird, nur wird leider der Hintergrund nicht farbig begin Canvas.Brush.Color := clNavy; end; //Text mittig berechnen Diff_Left := (Rect.Right - Rect.Left - Canvas.TextWidth(S_Text)) div 2; Diff_Top := (Rect.Bottom - Rect.Top - Canvas.TextHeight(S_Text)) div 2; //Text ausgeben Canvas.TextRect(Rect, Rect.Left + Diff_Left, Rect.Top + Diff_Top, S_Text); Canvas.FrameRect(Rect); end; end; |
Re: StringGrind: Hintergrundfarbe bei editierter Zelle änder
Hallo Helmi,
wenn du eine Zelle im Grid editierst, dann editierst du in Wirklichkeit einen InplaceEditor:
Delphi-Quellcode:
Grüße vom marabu
type
THackedStringGrid = class(TStringGrid); TColorInplaceEdit = class(TInplaceEdit) published property Color; end; procedure TDemoForm.StringGridGetEditText(Sender: TObject; ACol, ARow: Integer; var Value: String); begin // ... with TColorInplaceEdit(THackedStringGrid(Sender).InplaceEditor) do begin Color := clNavy; Font.Color := clWhite; Invalidate; end; end; |
Re: StringGrind: Hintergrundfarbe bei editierter Zelle änder
Danke!
Hat wunderbar funktioniert! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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