Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi speichern von stringgridinhalten (https://www.delphipraxis.net/21298-speichern-von-stringgridinhalten.html)

kiar 30. Apr 2004 14:28


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

Benedikt 30. Apr 2004 14:54

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:
//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;
Ich hoffe das meinstest du und ich habe dein Problem nicht komplett falsch verstanden :-D

kiar 30. Apr 2004 14:58

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

Benedikt 30. Apr 2004 15:06

Re: speichern von stringgridinhalten
 
Zitat:

Zitat von kiar
eine zelle kann zur gleichen zeit auch 2 farben anzeigen, also brauche ich mehr informationen als die farbe.

Nun, wie du sagtest: Es sollte ja dann kein Problem mehr sein in Objects einfach noch mehr Informationen als nur diese eine Farbe zu speichern... :)


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