AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bei Maus klich Timer stoppen

Ein Thema von citybreaker · begonnen am 12. Feb 2005 · letzter Beitrag vom 13. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
citybreaker
(Gast)

n/a Beiträge
 
#1

Bei Maus klich Timer stoppen

  Alt 12. Feb 2005, 19:30
Hallo,
ich möchte sobald die linkemaustaste gedrückt
wird meinen Timer stoppen. Alerdings soll es
egal sein wo die Maus geklickt wird da ich eine
Art Color Picker progammieren will. Ich denke
das OnMouseDown deshalb nicht in Frage kommt und
weiß nun keine weitere möglichkeit.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Bei Maus klich Timer stoppen

  Alt 12. Feb 2005, 19:32
Hi,

Du koenntest SetCapture() verwenden. Es wird ein OnMouseUp ausgeloest wenn die Maus losgelassen wird.
Eignet sich gut fuer einen Color Picker.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#3

Re: Bei Maus klich Timer stoppen

  Alt 12. Feb 2005, 20:01
Du könntest versuchen, im OnTimer die Windows-Message abzufangen, die bei einem Klick gesendet wird. Such mal im Forum danach, da wirst du sicher fündig
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#4

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 12:35
Ich hab mal im Forum gesucht, aber nicht wirklick was gefunden
was sich eignet.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 12:55
Colorpicker ?
Ich hab' mal einen gemacht, mit nem Image und onMouseMove (im OnClick dann die Farbe gespeichert) ...
  Mit Zitat antworten Zitat
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 13:34
Wenn du ein TApplicationEvents-Objekt einbaust, müsste das eigentlich gehen. Damit bekämst du dann alle MouseDown-Events die auf der Form insgesamt niedergehen. ...Nötig hierfür wäre dann nur noch mehr ein entsprechender ApplicationEvents1.OnMessage-Eventhandler und darin dann auf wm_lbuttondown prüfen.
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#7

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 13:38
Und wie funktioniert das?
  Mit Zitat antworten Zitat
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 15:00
(?). Das Teil einfach auf die Form ziehen und dann im OI einen Doppelklick rechts neben die OnMessage-Property. In diesen (so dann erzeugten) Eventhandler werden dann quasi sämtliche Messages zuerst hin/umgeleitet, ...jene welche nämlich ansonsten gleich an die WndProc der Form bzw. die WndProcs der einzelnen Controls darauf gehen würden. Dort könntest du dann also auf WM_LButtonDown prüfen und entsprechend reagieren...


Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if Msg.message = wm_lbuttondown then begin
    ...
  end;
end;
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#9

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 16:15
Zitat von TStringlist:
(?). Das Teil einfach auf die Form ziehen und dann im OI einen Doppelklick rechts neben die OnMessage-Property. In diesen (so dann erzeugten) Eventhandler werden dann quasi sämtliche Messages zuerst hin/umgeleitet, ...jene welche nämlich ansonsten gleich an die WndProc der Form bzw. die WndProcs der einzelnen Controls darauf gehen würden. Dort könntest du dann also auf WM_LButtonDown prüfen und entsprechend reagieren...


Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if Msg.message = wm_lbuttondown then begin
    ...
  end;
end;
Hab das jetzt mal ausprobiert, alerdings funktioniert auch das nur inerhalb der Anwendung.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Bei Maus klich Timer stoppen

  Alt 13. Feb 2005, 16:27
Zitat von citybreaker:
...
Hab das jetzt mal ausprobiert, alerdings funktioniert auch das nur innerhalb der Anwendung.
Das ist ja logisch, dass es nur innerhalb der Anwendung funktioniert, da ApplicationEvents1Message ja nur die Nachrichten an die eigene Anwendung abfängt. Wenn es auf dem gesamten Desktop funktionieren soll, muss man alle Messages abfangen, nicht nur die der eigenen Anwendung.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:59 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