Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wenn Image kein Mouse Zeiger drauf hat anderes Bild zeigen (https://www.delphipraxis.net/62301-wenn-image-kein-mouse-zeiger-drauf-hat-anderes-bild-zeigen.html)

Christian18 2. Feb 2006 17:18


Wenn Image kein Mouse Zeiger drauf hat anderes Bild zeigen
 
Hallo,

ich habe mal eine Frage, ich brauche bei einem Image ein Ereigniss. Dieses Ereigniss ist aber leider nicht da. Ich brauche das Ereigniss OnMouseLeave. Das gibt es auch bei Labels.

Also ich will folgendes machen vieleicht gibt es ja auch eine andere möglichkeit:

Ich habe eine Grafik die in einem Image angezeigt wird, wenn ich auf diese Grafik mit der Mouse fahre, dann soll ein anderes Bild angezeigt werden. Wenn ich mit der Mouse wie weg bin, dann soll das ausgangsbild wieder angezeigt werden. und wenn geklickt wird, dann soll wieder ein anderes Bild angezeigt werden.

Wie kann ich das mit den (Mouse --> runter vpm Image) machen.

Wenn ich mit der Mouse auf das Image gehe, das funktioniert schon und wenn ich klicke, dann kommt auch ein anderes bild, das funktioniert auch schon, aber wie kann ich es machen, das wenn ich mit der Mouse runterfahre, das dann ein neues Bild angezeigt wird.

Mit freundlichen Grüßen

Christian18

turboPASCAL 2. Feb 2006 17:30

Re: Wenn Image kein Mouse Zeiger drauf hat anderes Bild zeig
 
In etwa so:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Image1: TImage; // Das Image was schon auf der Form liegt
    //...
  private
    { Private-Deklarationen }
    procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CMMouseEnter(var Msg: TMessage);
var
  aComponent: TComponent;
begin
  aComponent := TComponent(Msg.LParam);
  if (aComponent = Image1) then
  begin
    Image1.Picture.LoadFromFile('...');
  end;
end;

procedure TForm1.CMMouseLeave(var Msg: TMessage);
var
  aComponent: TComponent;
begin
  aComponent := TComponent(Msg.LParam);
  if (aComponent = Image1) then
  begin
    Image1.Picture.LoadFromFile('...');
  end;
end;

War das nicht schon mal irgend wo hier in der DP erleutert ? :gruebel:

Christian18 2. Feb 2006 17:45

Re: Wenn Image kein Mouse Zeiger drauf hat anderes Bild zeig
 
Hallo,

in welche Unit ist denn "CM_MOUSEENTER", denn da kommt ein Fehler.

[Fehler] UGM.pas(12): Undefinierter Bezeichner: 'CM_MOUSEENTER'

Christian18 2. Feb 2006 18:17

Re: Wenn Image kein Mouse Zeiger drauf hat anderes Bild zeig
 
Hallo,

ich habs schon alleine gefunden!

für alle die es auch mal auspropieren wollen, es ist die unit:

Controls


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