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

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
Seite 1 von 2  1 2   
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 8. Jan 2020, 15:01
Eventuell kannst du diese Sequenz im OnCreate oder einem anderen geeigneten Event des zweiten Formulars (wegen Handle) aufrufen:
Delphi-Quellcode:
var
  M: TMsg;
begin
  M.Message := 0;
  while PeekMessage(M, Handle, WM_LBUTTONDOWN, WM_LBUTTONUP, PM_REMOVE) do
  begin
    if (M.Message = WM_QUIT) then
      PostQuitMessage(M.wparam);
  end;
end;
Kann aber durchaus noch unerwartete Nebenwirkungen haben. Daher use on your own risk.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
689 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 8. Jan 2020, 15:06
Eventuell kannst du diese Sequenz im OnCreate oder einem anderen geeigneten Event des zweiten Formulars (wegen Handle) aufrufen:
Delphi-Quellcode:
var
  M: TMsg;
begin
  M.Message := 0;
  while PeekMessage(M, Handle, WM_LBUTTONDOWN, WM_LBUTTONUP, PM_REMOVE) do
  begin
    if (M.Message = WM_QUIT) then
      PostQuitMessage(M.wparam);
  end;
end;
Kann aber durchaus noch unerwartete Nebenwirkungen haben. Daher use on your own risk.
Kann aber auch sein, dass die 2. Klick Message noch garnicht in der Queue ist, da man ja noch im Code ist und die weiteren Windows Messages noch nicht behandelt wurden oder auch (durch die sehr schnellen Laufzeiten des Delphi Codes) der 2. Klick noch garnicht gemacht wurde, während man noch im OnCreate Event ist.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 8. Jan 2020, 15:12
Na ja, mein Vorschlag bezieht sich konkret auf
Ich habe schon überlegt, ob man irgendwie die Message des Zweiten Klicks aus der Message Queue entfernen kann, weiß aber nicht ob und wie das gehen kann.
Natürlich kann man diese Messages nur dann entfernen, wenn sie schon in der Queue vorhanden sind. Daher auch mein Hinweis auf den geeigneten Event.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 8. Jan 2020, 15:57
Betrifft das Problem alle Kunden oder nur einige? Wenn es alle betrifft, dann trainiert das Programm dieses Verhalten an und bricht an dieser Stelle mit der Logik, wieso? Wenn es nur wenige sind, dann darauf hinweisen, dass diese ihr "Verhalten" überarbeiten müssen. Grundsätzlich tust Du Dir aber keinen Gefallen solche Sonderfälle auch noch zu "korrigieren", indem Du eine Lösung suchst, die jenes Problem behebt.

......

P.S.: Ich weiß, dass das Deine Frage nicht beantwortet, bin aber der festen Meinung, dass ihr das anders angehen müsst
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 8. Jan 2020, 16:05
Der Anwender kann mit Windowsprogramnen nicht umgehen? Weil einen Doppelklick auf eine Schaltfläche macht man ja eher nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.371 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 9. Jan 2020, 09:05
Der Anwender kann mit Windowsprogramnen nicht umgehen? Weil einen Doppelklick auf eine Schaltfläche macht man ja eher nicht.
Wenn du wüsstest.
Ich kenne einen IT-Abteilungsleiter, der fast immer auf Buttons einen Doppelklick gemacht hat.

Zum Thema:
Du kennst den Zeitpunkt, wann das Fenster gezeigt wird und wann der Button gedrückt wird. Sollte die zeitliche Differenz zwischen diesen Ereignissen einen bestimmten Wert unterschreiten, wird die Aktion hinter dem Button einfach nicht ausgeführt.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 8. Jan 2020, 16:06
Ich weiß, dass das Deine Frage nicht beantwortet,
Haste doch gemacht.

Wenn jemand dort Doppelklickt, wo man nur einmal zu klicken hat, welches hier auch noch ein Standardverhalten aller Programme dieses Betriebssystem ist (Einfachklick auf Buttons),
dann ist das schon ein gewisses Fehlverhalten dieses Benutzers.


PS: Bei Einfachklick oder Doppelklick auf Icons auf dem Desktop, bzw. auf Dateien im Explorer ... dort kann der Benutzer sich sein Lieblingsverhalten im System einstellen (wobei dort der Standard ein Doppelklick ist, was man für Touchscreens aber gern mal ändert),
aber Buttons sind immer gleich und das sogar im Android, Linux, Mac uvm.


Zitat:
Ich habe schon überlegt, ob man irgendwie die Message des Zweiten Klicks aus der Message Queue entfernen kann, weiß aber nicht ob und wie das gehen kann.
Natürlich kann man diese Messages nur dann entfernen, wenn sie schon in der Queue vorhanden sind.
Ratet mal, warum ich z.B. etwas von einer Pause (Sleep) schrieb.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Jan 2020 um 16:18 Uhr)
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#8

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 9. Jan 2020, 07:53
Guten Morgen,

erstmal vielen Dank für die rege Beteiligung an dem Thema.

Das Problem ist, dass diese Software in öffentlichen Verwaltungen eingesetzt wird. Sehr viele Anwender sind überhaupt nicht Computeraffin. Und wenn es schon mehrfach passiert ist, dass Oma Erna (Kurz vor der Rente und stolz drauf Windows hoch- und runterfahren zu können) versehentlich Datensätze verfälscht, an denen auch noch finanzielle Einkünfte der Verwaltung hängen und das auch noch einigen anderen Anwendern passiert ist, sind wir in der Pflicht diese potenzielle Fehlerquelle zu unterbinden. Bei allem was ich mache muss ich mir ständig vorstellen, dass der IQ des zukünftigen Anwenders leicht unter seiner Körpertemperatur liegt...

Ich werde mir jetzt mal die ganzen Vorschläge anschauen und mal sehen was funktioniert.

Danke nochmal.
Ist ein Nilpferd ein Pferd, das nicht vorhanden ist?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#9

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 9. Jan 2020, 07:57
Ich werde mir jetzt mal die ganzen Vorschläge anschauen und mal sehen was funktioniert.
Eine einfache Lösung wäre noch, einen Timer auf 1000ms zu setzen, welcher im öffnenden Form Self.Enabled := True; setzt. Im FormCreate dann ein Self.Enabled := False; und weiter geht's

......

P.S.: Trotzdem bleibe ich bei der Meinung, dass es nicht der richtige Weg ist
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
klaudina

Registriert seit: 18. Sep 2021
Ort: Fürth - Landkreis
4 Beiträge
 
#10

AW: Zweiten Klick von Doubleklick verhindern / ignorieren

  Alt 18. Sep 2021, 17:52
Hallo in die Runde!
Ich habe dieses Thema aufmerksam gelesen, -hochinteressant - aber richtig anwenden kann ich das bei meinem Problem dennoch nicht.

Ich habe beginnendes Parkinson, ich kann es oftmals nicht verhindern, daß statt eines Klicks mit der linken Maustaste immer gleich zweie -manchmal auch dreie - generiert werden. das nervt inzwischen gewaltig.
Ich hab es mit der Software "ClickFixSettings" versucht, aber damit werde ich auch nicht glücklich.
gibt es denn nicht eine Einstellung im System, der diese Mehrfachklicks, wenn sie kurz hintereinander kommen, einfach ignoruieren ? Bei der Tastatur geht das doch auch. Da erscheint bei der Eingabe von uund nur und etc. ( in Schreibprogrammen macht das ja hervorragend die Autokorrektur)

Gebt mir bitte mal einen Tipp, wo ich den Lötkolben an die Holzkiste ansetzen soll.

beste Grüße noch auch dem Frankenland

Klaus-Dieter
Klaus-Dieter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:40 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-2025 by Thomas Breitkreuz