AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Mousedown in eigener Anwendung blocken

Mousedown in eigener Anwendung blocken

Ein Thema von bluescreen25 · begonnen am 30. Aug 2007 · letzter Beitrag vom 8. Sep 2007
Antwort Antwort
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#1

Mousedown in eigener Anwendung blocken

  Alt 30. Aug 2007, 18:28
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:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if Msg.message = WM_RBUTTONDOWN then ....
end;
genommen, hier wird zumindest schonmal der mousedown erkannt, aber wird dieser auch zuerst dort abgefragt, oder kommt er immer durch ?

Wie kann ich dann blocken ?

Gruß, bluescreen25
...und ich dachte, Delphi ist ein Programmgenerator mit nur einem Button......tzzz
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Mousedown in eigener Anwendung blocken

  Alt 8. Sep 2007, 13:29
Kennt sich da niemand aus ?

Gruß, bluescreen25
...und ich dachte, Delphi ist ein Programmgenerator mit nur einem Button......tzzz
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Mousedown in eigener Anwendung blocken

  Alt 8. Sep 2007, 14:24
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
Michael Kübler
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#4

Re: Mousedown in eigener Anwendung blocken

  Alt 8. Sep 2007, 21:13
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;
Philipp F.
  Mit Zitat antworten Zitat
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 20:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz