AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MouseMove verzögern

Ein Thema von Bjoerk · begonnen am 22. Mär 2016 · letzter Beitrag vom 24. Mär 2016
Antwort Antwort
Bjoerk

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

AW: MouseMove verzögern

  Alt 23. Mär 2016, 10:42
Ich habs jetzt anders. So wollte ichs eigentlich lassen. Soll so eine Art dynamischer Timer sein (Basiert auf DeddyH’s TWaitCounter).
Delphi-Quellcode:
  TWaitCounterEx = class
  private
    FStart, FStop, FFrequency: Int64;
    FStartTime, FStopTime, FWaitTime: double;
    FSuccess: boolean;
    function GetCanWaitTimer: boolean;
  public
    procedure Start;
    procedure Stop;
    property WaitTime: double read FWaitTime;
    property CanWaitTimer: boolean read GetCanWaitTimer;
    constructor Create;
  end;

..

{ TWaitCounterEx }

constructor TWaitCounterEx.Create;
begin
  FSuccess := QueryPerformanceFrequency(FFrequency);
end;

procedure TWaitCounterEx.Start;
begin
  if FSuccess and QueryPerformanceCounter(FStart) then
    FStartTime := FStart / FFrequency;
end;

procedure TWaitCounterEx.Stop;
begin
  if FSuccess and QueryPerformanceCounter(FStop) then
  begin
    FStopTime := FStop / FFrequency;
    FWaitTime := (FStop - FStart) / FFrequency;
  end;
end;

function TWaitCounterEx.GetCanWaitTimer: boolean;
begin
  // NewStartTime - OldStopTime >= OldWaitTime;
  Result := not FSuccess or (CompareValue(FStartTime - FStopTime, FWaitTime, 1E-8) >= 0);
end;

(*
procedure TSomeForm.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  FWaitCounter.Start;
  try
    if FWaitCounter.CanWaitTimer then
    begin
      ..
    end;
  finally
    FWaitCounter.Stop;
  end;
end;
*)

Geändert von Bjoerk (23. Mär 2016 um 10:55 Uhr) Grund: Umformuliert
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz