Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Linksklick <-> Doppelklick in TNA (https://www.delphipraxis.net/7277-linksklick-doppelklick-tna.html)

Flogo 7. Aug 2003 20:37


Linksklick <-> Doppelklick in TNA
 
Tach zusammen
Mein Programm kann einen Klick nicht mehr von einem Doppelklick unterscheiden :o
Naja so schlimm ists nicht aber ich schaff es nicht mit meinen TNA-Icon auf Doppelklicks UND Linksklicks zu reagieren. Nur Linksklicks gehen mit WM_LBUTTONUP Doppelklicks mit WM_LBUTTONDBLCLK aber wenn ich beides drin hab und doppelklicke führt er beide Funktionen durch. Kann man das irgendwie umgehen oder muss ich den Zeitabschnitt zwischen den Klicks selber messen???

CalganX 7. Aug 2003 20:54

Re: Linksklick <-> Doppelklick in TNA
 
Das Problem besteht darin, dass WM_LBUTTONUP immer dann aufgerufen wird, wenn du den linken Mausbutton loslässt. Und das geschieht sowohl beim normalen Klick, als auch beim Doppelklick.

Daraus helfen sollte WM_LBUTTONCLICK. Und wenn es das nicht gibt, dann sollten wir beide einen Blick in das MSDN werfen... ;)

Chris

Flogo 7. Aug 2003 21:01

Re: Linksklick <-> Doppelklick in TNA
 
msdn

CalganX 7. Aug 2003 21:06

Re: Linksklick <-> Doppelklick in TNA
 
Yoah... aber leider hat die ganze Sache einen Haken:
Zitat:

Zitat von Das MSDN
Double-clicking the left mouse button actually generates a sequence of four messages: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, and WM_LBUTTONUP.

Aber es geht irgendwie. Ich schaue morgen mal.

Chris

Alexander 8. Aug 2003 08:28

Re: Linksklick <-> Doppelklick in TNA
 
Habe ich das jetzt richtig verstanden? Du willst einen Doppelklick auf das TNA-Icon abfangen?
DAnn probier das mal so:
Delphi-Quellcode:
procedure TForm1.WMTASKBAREVENT(var message: TMessage);
begin
  case message.LParamLo of
    WM_LBUTTONDBLCLK:
     ShowMEssage('Doppelklick');
    WM_LBUTTONDOWN:
     ShowMessage('Linksklick');
    end;
Du musst dir natürlich noch die Message registrieren.

CalganX 8. Aug 2003 09:43

Re: Linksklick <-> Doppelklick in TNA
 
Wer lesen kann ist klar im Vorteil:
Zitat:

Zitat von Chakotay1308
Zitat:

Zitat von Das MSDN
Double-clicking the left mouse button actually generates a sequence of four messages: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, and WM_LBUTTONUP.


D.h., dass auch beim Doppelklick die Linksklickroutine ausgeführt wird.

Chris

MathiasSimmack 8. Aug 2003 11:42

Re: Linksklick <-> Doppelklick in TNA
 
Es gibt also einen Grund, warum 99% aller TNA-Programme die rechte Maustaste bevorzugen. :wink:

Flogo 8. Aug 2003 12:51

Re: Linksklick <-> Doppelklick in TNA
 
Genau das ist mein Problem: Ich will alle drei Klicks benutzen:
Rechtsklick -> Popupmenü
Linksklick -> Status Aktiviert/Deaktiviert umschalten
Doppelklick -> Prog anzeigen

Wenn man doppelt draufklickt wird jetzt auch immer der Status geändert(komischerweise nur ein mal; der zweite LBUTTONUP wird wohl als Teil des Doppelklicks gezählt).
Ich bin mir sicher das es irgendwie gehen muss da ich bei mir die Lautstärke mit einem einfachen Klick ändern kann (bei doppelklick werden die Audioeigenschaften geöffnet) frag mich nur wie :?:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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