Zitat:
Das befüllen geschieht mit Hilfe der Routine Grid.OnDrawCell
das würde ich gern mal sehen, das kann so nicht gehen
EInvalidGridOperation-fehler bekomm ich, wenn man die selection aufhebt (auf -1,-1,-1,-1 setzt) und außerhalb des grid am Scrollrad dreht. Ich habe mir irgendwann mal so beholfen:
Delphi-Quellcode:
procedure TForm1.StringGrid1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
with Sender as Tstringgrid do
begin
//obere Reihe + angezeigte Reihen darf nicht größer sein, als die Gesamtreihen
if TopRow+Visiblerowcount<rowcount then toprow:=toprow+1
end;
handled:=true;
end;
procedure TForm1.StringGrid1MouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
with Sender as Tstringgrid do
begin
if TopRow>fixedrows then toprow:=toprow-1
end;
handled:=true;
end;
mfg Frank