Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

MouseMove verzögern

  Alt 22. Mär 2016, 16:29
Ich hab ein MouseMove wo ziemlich viel los ist. Ich suche schon seit einiger Zeit deshalb eine Verzögerung für das MouseMove. Jetzt hab ich mir das aus den Rippen geleiert. Was haltet ihr davon???
Delphi-Quellcode:
  private
    FLastTime, FMouseMoveIgnoreTime: cardinal;
  end;

..

procedure TForm1.FormCreate(Sender: TObject);
begin
  Color := clWindow;
  FMouseMoveIgnoreTime := 10;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if (GetTickCount - FLastTime) > FMouseMoveIgnoreTime then
    Canvas.Pen.Color := clBlue // "DoWork"
  else
    Canvas.Pen.Color := clRed; // not "DoWork"
  Canvas.Brush.Color := Canvas.Pen.Color;
  Canvas.Ellipse(X - 4, Y - 4, X + 4, Y + 4);
  FLastTime := GetTickCount;
end;
  Mit Zitat antworten Zitat