AGB  ·  Datenschutz  ·  Impressum  







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

OnMouseMove verzögern

Ein Thema von faux · begonnen am 2. Aug 2006 · letzter Beitrag vom 3. Aug 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

OnMouseMove verzögern

  Alt 2. Aug 2006, 22:42
Hallo!

Bin mir fast sicher, dass es das schon gibt, nur kann ichs nicht finden:
Mit OnMouseMove kann ich sofort reagieren, wenn die Maus über ein bestimmtes Objekt bewegt wird; ich will aber erst nach einer gewissen Verzögerung reagieren. Wie kann man das realisieren?

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#2

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 22:46
vielleicht mit delay?
guck mal in die codelib.
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 22:47
Zitat von fwsp:
vielleicht mit delay?
guck mal in die codelib.
Wie das denn?
Kannst mir da ein Beispiel nennen?

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#4

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 22:50
oder meinst du, das der cursor mindestens X sekunden da ist und dann erst was passiert?

dann:
ein timer der ausgelöst wird wenn der cursor über das ding geht. ne boolsche variable die bei mouseover true wird und und dann in der prozedur nochmal abgeprüft wird.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#5

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 22:51
ich glaub er will es so wie bei einem Hint du gehst drauf und dann kommt erst in ca. einer Sekunde das Hint
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 23:16
Mein Vorschlag:
Einfach eine Integer-Zählvariable nehmen (z.B. die Tag-Eigenschaft), die bei OnMouseMove hochgezählt wird.
Bei einem bestimmten Wert der Zählvariable (z.B. if Tag > 50 then...) wird dann das Ereignis ausgelöst.

Bei OnMouseLeave natürlich wieder auf 0 stellen! (Tag := 0; )
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 23:25
Und wenn man jetzt die Maus reinfährt und die Maus dann stehenlässt? dann wars das

ich würd im OnMouseMove einen Timer starten, wenn dieser beendet ist und die Maus immernoch über dem Control, kann man den Hint anzeigen (oder was immer man machen will).

EDIT: Man muss im Timer eigentlich nicht einmal was überprüfen - man kann einfach im OnMouseLeave den Timer stoppen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 23:29
Zitat von DGL-luke:
Und wenn man jetzt die Maus reinfährt und die Maus dann stehenlässt? dann wars das

ich würd im OnMouseMove einen Timer starten, wenn dieser beendet ist und die Maus immernoch über dem Control, kann man den Hint anzeigen (oder was immer man machen will).

EDIT: Man muss im Timer eigentlich nicht einmal was überprüfen - man kann einfach im OnMouseLeave den Timer stoppen.
Warum dann MouseMove nehmen?

In OnMouseEnter den Timer aktivieren und in OnMouseLeave deaktivieren


//Edit:
Wieso komm ich eigentlich auf die bescheuerte Idee, dass es sowas wie OnMouseEnter und OnMouseLeave gibt?
Stell grad fest:
Sowas gibts ja gar nich
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 23:43
Es gibt seht wohl ein
Zitat:
OnMouseEnter und OnMouseLeave
Event.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: OnMouseMove verzögern

  Alt 2. Aug 2006, 23:48
Zitat von sniper_w:
Es gibt seht wohl ein
Zitat:
OnMouseEnter und OnMouseLeave
Event.
Stimmt, bei nem TLabel, aber das wars dann auch schon
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 05:52 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