![]() |
OnEnter Event für Image-Komponenten
Hallo!
Ich möchte bei einem Image ein OnEnter-Event definieren. Geht dies, wenn ja wie? Danke Alex |
Re: OnEnter Event für Image-Komponenten
Hallo,
in Delphi 2006 gibts es schon dieses Ereignis. Ansonsten kannst du dir ja mal ![]() |
Re: OnEnter Event für Image-Komponenten
Ein "richtiges" OnEnter-Event gibt es ja nicht(jedenfalls nicht bei D7 :stupid: ). Eine Lösung wäre es die Mausposition auf dem Formular abzufragen und dann, wenn die Maus innerhalb der Koordinaten des Images ist, den Befehl auszuführen.
|
Re: OnEnter Event für Image-Komponenten
ich weiß jetzt nicht ob TImage eine Ereignisprozedur besitzt wo alle Messages durchgehn und wo man sich einklinken kann
oder du versuchst dir eine neue Klasse zu erstellen und implementierst es selber. TLabel z.B. bekommt CM_MOUSEENTER und CM_MOUSELEAVE zugesendet.
Delphi-Quellcode:
@xX0815Xx: TLabel hat sowas in meinem D7 :zwinker:
TMyImage = class(TImage)
private procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; end; aber da er ja nur OnMouseEnter benötigt, ließe sich wohl der Vorschlag mit OnMouseMove (dieses hat ja TImage schon) am Einfachsten umsetzen. warum sind hier alle so schnell ;( |
Re: OnEnter Event für Image-Komponenten
Ich meinte doch für ein Image :stupid:
|
Re: OnEnter Event für Image-Komponenten
Am einfachsten wäre es natürlich so:
Delphi-Quellcode:
EDIT: getestet unter Delphi 6
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TImage = class(ExtCtrls.TImage) private FOnMouseEnter: TNotifyEvent; procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; public property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter; end; type TForm1 = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); private procedure ImageMouseEnter(Sender: TObject); public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TImage.CMMouseEnter(var Message: TMessage); begin if assigned(FOnMouseEnter) then FOnMouseEnter(Self); end; procedure TForm1.ImageMouseEnter(Sender: TObject); begin Showmessage(format('%s onMouseEnter', [TImage(Sender).Name])); end; procedure TForm1.FormCreate(Sender: TObject); begin Image1.OnMouseEnter:= ImageMouseEnter; end; end. |
Re: OnEnter Event für Image-Komponenten
Da hast du nat. Recht. Deine Idee ist besser als meine (von Subclassing hab ich noch nicht so viel Ahnung, aber langsam kommts^^).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz