![]() |
Mousedown in eigener Anwendung blocken
Hallo, ich habe das Problem, das bei einem Touchscreen die "rechte Maustaste" über einen langen Touch simuliert wird. (Mousedown) . Diese Funktion vom Touch wird für andere Anwendungen auch gebraucht.
Desweiteren nutze ich die "konstante Berührung" des Touch um eine Lautstärke-Rampe (alle 100ms = 1%) in meinem Programm zu nutzen. Jetzt kann man sich vorstellen, das wenn der Touch nach einer einstellbaren Zeit zwischen 1 und 3 sekunden das "rechte Mousedown" simuliert, das bei der Lautstärke-Rampe sofort unterbrochen wird. Ich möchte für meine Anwendung den "rechten Mausclick" sowie "rechte Mausdown" blocken. Als Ansatz habe ich
Delphi-Quellcode:
genommen, hier wird zumindest schonmal der mousedown erkannt, aber wird dieser auch zuerst dort abgefragt, oder kommt er immer durch ?
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if Msg.message = WM_RBUTTONDOWN then .... end; Wie kann ich dann blocken ? Gruß, bluescreen25 |
Re: Mousedown in eigener Anwendung blocken
Kennt sich da niemand aus ?
Gruß, bluescreen25 |
Re: Mousedown in eigener Anwendung blocken
Hallo!!
Kann es Dir auch nicht 100% sagen, aber da der ProzedurTitel das Wort Application beinhaltet, gehen ich davon aus, daß sich hier die Verarbeitung abspielt und auch hier blockiert werden kann. Schau Dir mal auch in der Prozedur den Boolean-Typ Handled an. Evtl. musst Du in "if Msg.message = WM_RBUTTONDOWN ..." handled auf true setzen, damit die Verarbeitung woanders nicht mehr stattfindet. Liebe Grüße, SCRaT |
Re: Mousedown in eigener Anwendung blocken
Hi.
Also ich würde das so machen. Linke Mausklicks kommen durch, rechte nicht.
Delphi-Quellcode:
procedure TForm3.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if (Msg.message = WM_RBUTTONDOWN) or (msg.message = WM_RBUTTONDBLCLK) then msg.message := 0; end; procedure TForm3.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Caption := Caption+'a'; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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