AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Innerhalb einer Form alle Mouseclicks abfangen
Thema durchsuchen
Ansicht
Themen-Optionen

Innerhalb einer Form alle Mouseclicks abfangen

Ein Thema von Sharky · begonnen am 9. Dez 2005 · letzter Beitrag vom 9. Dez 2005
Antwort Antwort
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#1

Innerhalb einer Form alle Mouseclicks abfangen

  Alt 9. Dez 2005, 11:23
Hai ihr,

gibt es eine Möglichkeit alle Mausklicks in meiner Form abzufangen und je nach Situation darauf zu reagieren.

Genau möchte ich folgendes erreichen.
Wenn mein Programm mit einem bestimmten Parameter gestartet wurde und bei gedrückter Ctrl-Taste auf ein Object (Label, Button, Gourpbox usw. also alles was eine Caption hat) geklickt wird soll eine bestimmte Aktion durchgeführt werden.
Wenn die Ctrl-Taste nicht gedrückt ist soll der Mausklick einfach an die Komponente weitergeleitet werden und von dieser bearbeitet werden.

Ich hoffe ich konnte einigermassen erklären was ich machen möchte.


P.S.: Ich könnte natürlich für alle "beteiligten" ein entsprechendes OnClick erzeugen. Aber ich würde es halt gerne mal auf diese Weise versuchen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#2

Re: Innerhalb einer Form alle Mouseclicks abfangen

  Alt 9. Dez 2005, 11:44
Hey,

hast du es schon über TApplication.OnMessage versucht?

Ansonsten sollte dies über SetWindowsHookEx möglich sein.

Gruss
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Innerhalb einer Form alle Mouseclicks abfangen

  Alt 9. Dez 2005, 16:18
Hai Vjay,

danke für den Ratschlag. Jetzt müsste ich nur noch wissen welche Message ich für einen klick mit der linken Maustaste abfragen muss. *g* Ich und API-Zeugs. Zwei Welten treffen auf einander.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Innerhalb einer Form alle Mouseclicks abfangen

  Alt 9. Dez 2005, 16:32
Hallo Sharky,

WM_LBUTTONUP
WM_RBUTTONDOWN
WM_MBUTTONDBLCLK

und ihre Ergänzungen dürften die Messages sein, die du suchst. Wenn du die Quelle der Unit Controls einsehen kannst, dann dort bei TControl nachsehen. Oder im Win32 SDK unter Mouse Input Messages.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Innerhalb einer Form alle Mouseclicks abfangen

  Alt 9. Dez 2005, 16:47
Hai marabu,

danke für die schnelle Antwort. WM_LButtonDown hatte ich gefunden. Aber ich Dummhai habe nicht Msg.Message ausgewertet sondern Msg.lParam

Aber jetzt geht es schon einmal so wie ich es mir vorstelle
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:46 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