Hallo,
ich denke nach wie vor, dass ActionButtons keine geeignete Lösung für das Scrollen in einem Grid sind, aber technisch kannst du es so lösen: Den beiden ActionButtons für DatasetPrior und DataSetNext ordnest du diesen shared event handler zu:
Delphi-Quellcode:
procedure TDemoForm.DataSetScrollExecute(Sender: TObject);
begin
Timer.Enabled := not Timer.Enabled;
Timer.Tag := Integer(Sender);
end;
Timer.Enabled setzt du im
OI auf False und das Intervall auf 50. Die Timer-Routine kann dann so aussehen:
Delphi-Quellcode:
procedure TDemoForm.TimerTimer(Sender: TObject);
begin
if TObject(Timer.Tag) is TDataSetPrior
then Table.Prior
else Table.Next;
with TAction(Timer.Tag) do
Timer.Enabled := Enabled;
end;
So machst du aus den Schaltern im ActionToolBar Zustands-Schalter, die Aktionen sind in den Timer ausgelagert. Verstehst du mich jetzt?
Freundliche Grüße