Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OnMouseEnter [Bitte helft mir!] (https://www.delphipraxis.net/119668-onmouseenter-%5Bbitte-helft-mir-%5D.html)

Jan.R 29. Aug 2008 14:35


OnMouseEnter [Bitte helft mir!]
 
Bitte helft mir!

Ich habe ein label so programmiert, das wenn ich mit der Maus über das eine label fahre das das andere dann erscheint!
(label1-Objektinspektor-Ereignisse-OnMouseEnter-label2)!

Aber wie mache ich das mit einem Bild???
Da gibt's ja gar keine OnMouseEnter-Funktion!

Mit freundlichen Grüßen

Jan

Sherlock 29. Aug 2008 14:37

Re: OnMouseEnter [Bitte helft mir!]
 
Delphi-Referenz durchsuchenOnMouseMove

Damit sollte es auch gehen.

Sherlock

DeddyH 29. Aug 2008 14:38

Re: OnMouseEnter [Bitte helft mir!]
 
Meinst Du ein TImage?

[edit] Hab mal ein Beispiel erstellt mit einem Image und einem Label (hier die komplette Unit):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TImage = class(ExtCtrls.TImage)
  private
    FOnMouseEnter: TNotifyEvent;
    FOnMouseLeave: TNotifyEvent;
    procedure CMMouseEnter(var Msg: TMessage);message CM_MOUSEENTER;
    procedure CMMouseLeave(var Msg: TMessage);message CM_MOUSELEAVE;
  public
    property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
    property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
  end;

  TForm1 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure DoOnEnter(Sender: TObject);
    procedure DoOnLeave(Sender: TObject);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TImage.CMMouseEnter(var Msg: TMessage);
begin
  if Assigned(FOnMouseEnter) then
    FOnMouseEnter(self);
  Msg.Result := 0;
end;

procedure TImage.CMMouseLeave(var Msg: TMessage);
begin
  if Assigned(FOnMouseLeave) then
    FOnMouseLeave(self);
  Msg.Result := 0;
end;

procedure TForm1.DoOnEnter(Sender: TObject);
begin
  Label1.Caption := 'drin';
end;

procedure TForm1.DoOnLeave(Sender: TObject);
begin
  Label1.Caption := 'draußen';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.OnMouseEnter := DoOnEnter;
  Image1.OnMouseLeave := DoOnLeave;
end;

end.
Hth [/edit]


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