Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

Re: Wie kann man Mausklicks auf Buttons "entprellen&

  Alt 28. Nov 2006, 17:06
Zum Timer und Klicks igniorieren ...


Das mit dem Disablen den Buttons für 'ne gewisse Zeit erfordert ja einen zusätzlichen Timer, welcher den Button wieder aktiviert.


Sowas ignoriert z.B. für 1 Sekunde (1000ms) alle Klicks:
Einfach die Zeit des letzten Klicks speichern und dann abbrechen, bei zu geringer Zeit zum letzten Klick.
Delphi-Quellcode:
Procedure TForm1.Button1Click(...
  Begin
    If GetTickCount - TButton(Self).Tag < 1000 Then Begin
      TButton(Self).Tag := GetTickCount;
      Exit;
    End Else TButton(Self).Tag := GetTickCount;
    ... // hier dein Code
  End;
Und da das TAG-Item der Objekte dem Programmierer ur freien Verfügung steht, bietet es sich hierfür schön an (solange es nicht für was anderes verwendet wird).


PS: wenn Windows schon 49,71... Tage lief und noch nicht auf den Button gecklickt wurde, oder wenn das letzte mal vor 49,71... Tagen geklickt wurde, dann wird der Klick zwar auch ignoriert, aber der eine Klick ist wohl zu verkraften (bei den Laufzeiten).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat