![]() |
Doppelklick auf Titelleiste erkennen
Hi,
gibt es eine Möglichkeit per WinAPI den Doppelklick auf die Titelleiste eines Fensters zu erkennen? Zwar kann ich einen Doppelklick darauf mit Hilfe der Message WM_DBLCLICK erkennen, die Frage ist aber, wie ich differenzieren kann wohin geklickt wurde. Chris |
Re: Doppelklick auf Titelleiste erkennen
ich denke mal das du da mit Hooks arbeiten musst und dich nicht unbedingt auf die WinApi stützen kannst...
bin mir aber net 100%ig sicher... MfG Powerstreamer |
Re: Doppelklick auf Titelleiste erkennen
Hi,
:shock: das wage ich aber zu bezweifeln?! Wenn ich meine "Erfahrung" (*hüstel*) mit der WinAPI richtig deute wäre das mit Kanonen auf Spatzen schießen. ;) Da muss es doch eine andere Möglichkeit geben. :gruebel: Chris |
Re: Doppelklick auf Titelleiste erkennen
meinst du etwa das hier:
Code:
Procedure TForm1.WndProc(var Msg : TMessage);
begin if (Msg.Msg = WM_NCLButtonDBLCLK) and (Msg.WParam = HTCAPTION) then windows.beep(1000,100); inherited; end; |
Re: Doppelklick auf Titelleiste erkennen
Moin Chris,
oder so:
Delphi-Quellcode:
//...
public procedure WMNCBUTTONDBLCLICK(var msg : TMessage); message WM_NCLBUTTONDBLCLK; //... procedure TForm1.WMNCBUTTONDBLCLICK(var msg: TMessage); begin self.Caption := DateTimeToStr(now); inherited; end; |
Re: Doppelklick auf Titelleiste erkennen
Hi,
danke. ;) Genau das suchte ich. :) @Christian: ist ja im Prinzip das gleiche, nur dass ich bei deinem Source die WndProc nicht überschreiben muss. ;) Finde ich eigentlich auch besser. :lol: So hätte ich es aber sowieso dann geschrieben. :) Chris |
Re: Doppelklick auf Titelleiste erkennen
Moin Chris,
um ganz sicher zu gehen, solltest Du allerding auch noch die Prüfung auf HTCAPTION mit einbauen, die TStringList vorgeschlagen hat, da ein Doppelclick im Hauptmenü das Ereignis auch auslöst. |
Re: Doppelklick auf Titelleiste erkennen
> ..da ein Doppelclick im Hauptmenü das Ereignis auch auslöst.
...plus natürlich auch noch einige andere Doppelklicks, ...und zwar überall darauf, welches durch den theoretisch möglichen Wert von nHittest (siehe WM_NCHITTEST) sonst auch noch im WParam abgefragt werden kann (...eben auf den ganzen differenzierten NonClient-Bereich). ...nur, wenn hier oder da mal kein MainMenue da sein sollte. :tongue: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 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