AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Zweiten Klick von Doubleklick verhindern / ignorieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zweiten Klick von Doubleklick verhindern / ignorieren

Offene Frage von "himitsu"
Ein Thema von Getox · begonnen am 8. Jan 2020 · letzter Beitrag vom 22. Sep 2021
Antwort Antwort
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
771 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 10. Jan 2020, 09:37
Knall doch ein TApplicationEvents auf dein Hauptformular.

Dann kannst du die Zeit der Mausklicks auswerten:

Wenn du in deiner Applikation nach einem Mauslinks-Klick auf ein Element während einer gewissen Zeit (im Beispiel unten 500ms) einen zweiten Mauslinks-Klick auf ein anderes Element verhindern willst, dann könntest du dies so tun:

Delphi-Quellcode:
var lmt : Cardinal;
    lhwnd : HWND;

procedure TForm175.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if Msg.message = WM_LBUTTONDOWN then
  begin
    if Msg.hwnd <> lhwnd then
    begin
      if Msg.time - lmt <= 500 then handled := true;
    end;

    lmt := Msg.time;
    lhwnd := Msg.hwnd;
  end;
end;
Wenn du in deiner Applikation nur für deinen Spezialfall diese Klicks verhindern willst, dann verwende die Handles der beteiligten Elemente.

Und wenn du Mauslinks Klicks ignorieren willst, welche während der Verarbeitung von irgendwas getätigt worden sind, dann merkst du dir für dieses Intervall I die Start- und Endezeit (GetTickCount) und prüfst in ApplicationEvents1Message ob die Msg.time in I liegt.

Wenn du unter Umständen generell alle Mausevents ignorieren willst, dann prüfe ob ( Msg.message >= WM_MOUSEFIRST ) and ( Msg.message <= WM_MOUSELAST ).


Message Queues
Michael Gasser
  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 01:55 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