Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Feststellen, ob der Cursor ein Image verlässt (https://www.delphipraxis.net/114967-feststellen-ob-der-cursor-ein-image-verlaesst.html)

kroete 3. Jun 2008 16:50


Feststellen, ob der Cursor ein Image verlässt
 
Hi Leute. Ich hab mal wieder ein Problem mit meinem Schiffeversenken Projekt. Und zwar:
Wie kann ich feststellen, ob der Cursor ein TImage verlassen hat?

Ich hoffe, ihr könnt mir da weiterhelfen.
Hendrik :coder:

DeddyH 3. Jun 2008 16:55

Re: Feststellen, ob der Cursor ein Image verlässt
 
Du könntest in einem Timer-Event prüfen, ob sich der Cursor noch im Bereich des Images befindet (mit der Funktion PtInRect). Alternativ ginge auch ein Maushook, aber das wäre wohl übertrieben.

Die Muhkuh 3. Jun 2008 16:59

Re: Feststellen, ob der Cursor ein Image verlässt
 
Delphi-Referenz durchsuchenOnMouseLeave :gruebel:

taaktaak 3. Jun 2008 17:00

Re: Feststellen, ob der Cursor ein Image verlässt
 
Warum so kompliziert? Das Image hat doch ein MouseMove, wär's da nicht passender...

// edit: ab welcher Version gibt es MouseLeave?

kroete 3. Jun 2008 17:03

Re: Feststellen, ob der Cursor ein Image verlässt
 
Es geht mir nicht darum, eine OnMouseMove Prozedur zu machen, so eine hab ich ja schon. Ich brauche eine Prozedur, die aktiviert wird, wenn ich das Bild verlasse. Und onMouseLeave hab ich bisher bei keiner meiner Komponenten entdeckt...

DeddyH 3. Jun 2008 17:06

Re: Feststellen, ob der Cursor ein Image verlässt
 
Hatte eben zuerst in die D7-Hilfe geschaut:
Zitat:

In TImage

OnProgress

Abgeleitet von TControl

OnClick
OnContextPopup
OnDblClick
OnDragDrop
OnDragOver
OnEndDock

OnEndDrag
OnMouseDown
OnMouseMove
OnMouseUp
OnStartDock
OnStartDrag
Und jetzt kommen Sie :lol:

Amateurprofi 3. Jun 2008 18:11

Re: Feststellen, ob der Cursor ein Image verlässt
 
Ich löse dieses Problem gerne so :

1) Im Interface Abschnitt vor der Deklaration der Form :

Delphi-Quellcode:
type
   TImage=class(ExtCtrls.TImage)
   private
      procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
   end;
2) Im Implementation Abschnitt :

Delphi-Quellcode:
procedure TImage.CMMouseLeave(var Message: TMessage);
begin
end;

DeddyH 3. Jun 2008 18:13

Re: Feststellen, ob der Cursor ein Image verlässt
 
Mit CM_MOUSELEAVE habe ich schon schlechte Erfahrungen gemacht, wenn man die Maus sehr schnell aus dem Control zieht.

Die Muhkuh 3. Jun 2008 18:41

Re: Feststellen, ob der Cursor ein Image verlässt
 
Zitat:

Zitat von kroete
Und onMouseLeave hab ich bisher bei keiner meiner Komponenten entdeckt...

Kann ich nichts dafür, wenn Du Deine Delphi-Version nicht im Profil angibst. Hellsehen kann ich nicht. :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:33 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