Hallo,
Zitat von
danku:
wenn man in spalte 1 eine zelle editiert und dann in eine zelle in der 2.spalte klickt ist diese auch editierbar. warum?
Delphi-Quellcode:
if ACol = 0 then begin
sgfiles.Options := sgfiles.Options+[goEditing];
sgfiles.Options := sgfiles.Options-[goRowSelect];
end
else begin
sgfiles.Options := sgfiles.Options-[goEditing];
sgfiles.Options := sgfiles.Options+[goRowSelect];
end
Durch das Setzen von goRowSelect wird die Selection verändert und OnSelectCell erneut mit Col = 0 ausgelöst.
Eine Lösung für die Kombination goEditing/goRowSelect fällt mir dazu nicht ein.
Darin könnten auch Deine Probleme mit
TextWidth begründet sein.
Hast Du mal überprüft ob Dein TextWidth-Code auf die richtige Zelle zugreift?
Und hat Dein Edit die gleiche Font-Einstellung wie das StringGrid?
Denn
sgfiles.Canvas.TextWidth berechnet auf der Grundlage von StringGrid.Font.