Hallo Lombi,
dein zweites Problem ist am einfachsten zu lösen:
Delphi-Quellcode:
procedure TDemoForm.StringGridDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with Sender as TStringGrid do
begin
if (ARow < FixedRows) or (ACol < FixedCols) then
Canvas.Brush.Color := clInfoBk else
// ...
end;
end;
Bei deinem ersten Problem hilft nur ein eigenes book keeping. Du musst um die Optik zu erhalten einen eigenen RowCount pflegen und den RowCount des Grid nie unter 2 fallen lassen. Beim Löschen der letzten Zeile musst du dann die Cells von Row[1] alle leeren und beim Hinzufügen der ersten Zeile schreibst du deine Werte einfach in die bereits existierende Row[1].
Gute Nacht
marabu