Einzelnen Beitrag anzeigen

Dabei-seit-Turbo-Pascal-2

Registriert seit: 19. Feb 2010
26 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Scrollbox und Buttons -> Beim Scrollen nicht OnClick auslösen

  Alt 31. Jan 2017, 11:55
Ich habe das Problem bei einer Android-App gerade mit dem OnViewPortPositionChange-Event der TVertScrollBox so gelöst:

Ich merke mir die aktuelle Zeit wann der Viewport sich ändert ...

Delphi-Quellcode:

Var ZuletztGescrolltUm: TDateTime;

procedure TZeiterfassung.VertScrollBox2ViewportPositionChange(Sender: TObject; const OldViewportPosition,
  NewViewportPosition: TPointF; const ContentSizeChanged: Boolean);
begin
  inherited;
  ZuletztGescrolltUm:= now;
end;
... und der Button reagiert erst, wenn seit dem letzten Verschieben des Viewports mindestens eine halbe Sekunde vergangen ist:

Delphi-Quellcode:
Const EineSekunde = 1.0 / 24 / 60 / 60;

procedure TZeiterfassung.btnAuftragGeklickt (Sender: TObject);
begin
  inherited;
  if (now - ZuletztGescrolltUm) > (EineSekunde * 0.5) then
  begin
    ...
  end;
end;
Habe es gerade erst programmiert. Mal sehen, ob es sich bewährt.
  Mit Zitat antworten Zitat