Entwickler-Ecke

Sonstiges (Delphi) - RollOver.......?


yaster - Mi 04.02.04 17:35
Titel: RollOver.......?
Hi Delphi-Gemeinde,

ich versuche ein Image-Object als Button zu erstellen. Der Button soll so funktionieren, dass eine andere Pic-File gesetzt wird sobald ich mit der Maus überm Button bin und die Standart-Pic-File sobald ich diesen wieder verlasse...

Im Prinzip die Befehle für die Ereignisse, Maus überm Button bzw. Maus verlässt Button, reagiert

Danke schon mal im Voraus

Gruß,
Peta


Tino - Mi 04.02.04 17:42

Hallo!

Und wie lautet jetzt deine Frage?

Gruß
Tino


yaster - Mi 04.02.04 18:01

Ich möchte wissen welche Funktion angibt ob ich mit der Maus übers Objekt gerollt bin bzw. welche Funktion angibt, dass die Maus das Objekt verlassen hat


MaxiTB - Mi 04.02.04 18:08

Das sind Events ... OnMouseMove, OnMouseEnter, OnMouseLeave.
Wobei ich jetzt gar nicht weiß, obs die letzten beiden gibt.

Wurscht - TImage und Delphi-Online-Hilfe !


yaster - Do 05.02.04 14:59

hab's mit OnMouseMove versucht, hat nicht hin. Da kann ich nur reagieren, wenn die Maus aufs Objekt bewegt wird, aber nicht wenn die Maus das Objekt verläßt...
OnMouseLeave und OnMouseEnter existiert bei TImage nicht

bin für jede hilfe dankbar

Gruß,
Peta


Chatfix - Do 05.02.04 15:47

dann mach doch sobald du dich wieder ins Form bewegst das da das bild zurückgesetzt wird...

Sorry für das schlechte deutsch


Tilo - Do 05.02.04 15:53

@yaster
Also was ich in der DelphiHilfe über OnMouseMove gelesen bedeutet für mich:Solange der Mauszeiger über dem Steuerelment ist wird die OnMouseMove Routine ausgelöst
Könntest du nicht über eine "Schaltervariable" eine Routine aoslösen, sobald OnMouseMove nicht mehr ausgelöst wird?


Chatfix - Do 05.02.04 16:07

wenn man aber mit der maus über dem image bleibt würde das bild auch zurückgesetzt (obwohl die maus nicht weg ist)


Simon Joker - Fr 06.02.04 10:11

Hi Peta

das was du vor hast geht am besten, wenn du dir dazu ein eigene Komponente baust oder noch einfachen wenn du eine vorhandene verwendest!

Beispiel

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
TImageButton = class(TCostumControl)
  protected
   ...
   procedure WMMouseEnter(var Msg:TWMouse); message CM_MOUSEENTER;
   procedure WMMouseLeave(var Msg:TWMouse); message CM_MOUSELEAVE;
   ...
  private
    ...       
    FOnMouseEnter : TOnMouseEvent;
    FOnMouseLeave : TOnMouseEvent;
    ...
  published
    ...
    property OnMouseEnter : TOnMouseEvent read FOnMouseEnter write FOnMouseEnter;
    property OnMouseLeave : TOnMouseEvent read FOnMouseLeave write FOnMouseLeave;
    ...
  end;

So oder ahnlich kannst du dir ein Control basteln, das die von dir gewünschten Ereignisse hat.

Falls du einfach eine fertig Compo willst suche nach "TEzRgnBtn". Die macht genau das was du willst und unterstützt auch anderes als ein rechteckiges Bild.