![]() |
speichern von stringgridinhalten
folgendes problem,
in abhängigkeit von zustanden lassen sich zur laufzeit farben in den zellen eines stringgrid ändern. bringe ich jetzt eine andere anwendung nach vorn, wird bei wiederherstellen der form, für alle zellen die farbe de letzten zelle angenommen, was bei drawcell auch logisch ist. nun wollte ich einen record machen, welcher alle relevanten zustände speichert, und im onpaint der form wieder in den Drawcell lädt. nun meine frage: ist die vorgehensweise mit kanonen auf spatzen schiessen und , wenn ja gibt es eine elegantere lösung. ein sich auf spitze kommentare von :cat: freuender raik |
Re: speichern von stringgridinhalten
Hi,
ich denke mal du machst einfach die Hintergrund-Farbe der Zellen im OnDrawCell-Ereignis farbig? Dann wäre es ja theorethisch wohl das simpelste, die entsprechende Farbe in der Objects-Eigenschaft zu speichern, z.B. so:
Delphi-Quellcode:
Ich hoffe das meinstest du und ich habe dein Problem nicht komplett falsch verstanden :-D
//Farbe für die aktive Zelle speichern
procedure TForm1.Button1Click(Sender: TObject); begin StringGrid1.Objects[StringGrid1.Col, StringGrid1.Row]:=Pointer(clRed); StringGrid1.Invalidate; end; //OnDrawCell des StringGrids procedure TForm1.StringGrid1DrawCell(...); begin if (StringGrid1.Objects[ACol, ARow]<>nil) then begin StringGrid1.Canvas.Brush.Color:=TColor(StringGrid1.Objects[ACol, ARow]); StringGrid1.Canvas.Rectangle(Rect); end; end; |
Re: speichern von stringgridinhalten
hallo benedikt,
so einfach ist das nicht, mit objects wusste ich noch nicht, ist aber ne überlegung wert. eine zelle kann zur gleichen zeit auch 2 farben anzeigen, also brauche ich mehr informationen als die farbe. aber objects werde ich mir gleich mal anschauen. raik |
Re: speichern von stringgridinhalten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 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