Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Unterscheiden zwischen Doppel- und Einfachklick -Möglich-? (https://www.delphipraxis.net/81458-unterscheiden-zwischen-doppel-und-einfachklick-moeglich.html)

hathor 23. Nov 2007 09:05

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
Zitat:

Zitat von WIng2005
... Kann ich irgendwie definieren,
welche Click-Geschwindigkeit erreicht sein muss, damit DblClick greift.

MFG
Steffen

Dafür ist das Betriebssystem zuständig(z.B. Win XP)
Doubleklick-Einstellung:
Systemsteuerung->Maus->Doppelklickgeschwindigkeit(Langsam------schnell)

WIng2005 23. Nov 2007 09:13

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
Ja, das ist schon klar. Delphi realisiert bei mir nur den Unterschied zw. doppeltem und einfachem Klick nicht.
Es wir bei Doppelklick auch das Klick-Ereignis ausgelöst. Somit dachte ich, dass man Delphi dazu bewegen kann,
nach dem Klick kurz zu warten, ob da etwa noch ein Klick kommt....

MFG
Steffen

OregonGhost 23. Nov 2007 09:58

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
Die Frage ist, ob ein Linksklick eine Aktion ausführen sollte, die im Gegensatz zu einem Doppelklick steht. Normalerweise hast du in Situationen, in denen ein Doppelklick auf ein Item dieses z.B. ausführt, im Linksklick nur ein einfaches Anwählen (d.h. eine nicht destruktive Operation).
In diesem Fall könntest du dich an den Office-/Visual-Studio-Standard halten, Strg+Linksklick öffnet Links.

Wieso führt ein Klick auf eine Zelle bei dir eine Aktion für die ganze Zeile aus? Wie bitte kannst du DAS deinen Usern erklären? :stupid:

himitsu 23. Nov 2007 10:09

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
Eine Mölichkeit wäre den Prozess bei infachklick nicht sofort auszulösen, sondern Zeitversetzt z.B. über einen Timer.
deim Doppelklick wird der Timer dann wieder beendet und somit wird das Einfachklick(timer)ereignis nicht ausgelöst.
  • Einfachklick > Timer starten mit doppelter Doppelklickdauer laut System (zur Sicherheit etwas länger warten)
  • Doppelklick > Timmer beenden und Doppelklickereignis ausführen
  • Timer abgelaufen > Einfachklickereignis ausführen

WIng2005 23. Nov 2007 15:38

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
@ OregonGhost: Der Gedanke gefällt mir. Werde ich Monatg mal ausprobieren...Danke!!

MFG
Steffen

hathor 23. Nov 2007 16:20

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit folgendem Code kannst Du viele verschiedene Aktionen ausführen, je nachdem, wohin Du im Shape klickst:

Delphi-Quellcode:
function getPos(x,y:integer):TPoint;
const
  w=10; //width
  h=10; //height  
  t=0; //top
  s=1; //space
begin
  result.x:=((x-t) div (w+s) );
  result.y:=((y-t) div (h+s) );
end;
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var r:TPoint; px,py:integer;
begin
  r:=getpos(x,y);
  px:=r.X;
  py:=r.Y;
  x1.Caption :='X = '+ Inttostr(px);
  y1.Caption :='Y = '+ Inttostr(py);
//  if px=1 then...
//  if py=2 then...
//  ...
end;

bitsetter 23. Nov 2007 17:56

Re: Unterscheiden zwischen Doppel- und Einfachklick -Möglic
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Spynx
ich habe Delphi 5.00, steht auch über meinem ersten Post ;) dort gibts niergendwo ondblclick, nichtmal bei einem Button...

Hallo,

das Ereignis onDblClick vom TControl gibt es schon unter Delphi 3. TShape wurde dort auch von TControl abgeleitet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.
Seite 2 von 2     12   

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