Stringgrid Editorfenster löschen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Stringgrid Editorfenster löschen

Beitrag von Michl »

Hallo liebe Lazarus-Gemeinde,

ich habe nach langer Pause wieder Gefallen am Programmieren gefunden und schreibe gerade ein Programm zur Stundenkalkulation.

Dafür nutze ich unter anderem ein StringGrid zur Eingabe von diversen Kennzahlen etc.

Nun habe ich das Forum eine ganze Weile durchsucht, aber keine Lösung für mein Problem gefunden:

Ich rufe mehrmals den Stringgrid hintereinander auf, um meine Daten einzugeben.

Wenn ich den Stringgrid neu aufrufe, leere ich den vorhandenen Inhalt mit

Form1.TStringGrid.Clean([gzFixedCells]);

was soweit auch funktioniert!

Doch es bleibt immer der Inhalt in der Zelle stehen, wenn diese zuvor editiert wurde, jedoch nicht mit >Enter< in das StringGrid eingefügt wurde.

Wie kann ich den Status der editierten Zelle so setzen, als wäre keine aktive Editierung da?!

Danke für Eure Hilfe!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Stringgrid Editorfenster löschen

Beitrag von Michl »

Ok habe selber nach langem Probieren eine Lösung für mein Problem gefunden. :)

Beim Schließen des Stringgrids rufe ich noch folgende Zeile auf, dann ist das Editorfeld das nächste Mal nicht mehr aktiviert:

if Form1.TStringGrid.Editor.Showing then Form1.TStringGrid.Editor.Hide;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten