Der Ansatz gefällt mir. Scheint übersichtlicher und auch was die Performance angeht besser zu sein.
Allerdings hab ich noch ein paar Fragen.
Delphi-Quellcode:
var
f : TFormat;
begin
f := TFormat (StringGrid1.Objects [ACol, ARow]); *1
if Assigned (f) then
begin
StringGrid1.Canvas.Font.Color := f.Color;
StringGrid1.Canvas.Font.Style := f.Style;
// usw.
end
end;
*1 Du erzeugst hier doch erst eine neue Instanz der Klasse TFormat oder nicht? Dementsprechend wären die Werte f.Color und f.Style doch immer dieselben, und zwar die, die im Konstruktor vergeben wurden? Oder nicht?