Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mouse Leave in Panel (https://www.delphipraxis.net/34268-mouse-leave-panel.html)

faux 20. Nov 2004 09:38


Mouse Leave in Panel
 
Hallo!

Wie kann ich ein MouseLeave Event im Panel Benutzen?

Also ich will, wenn die Mouse ins Panel fährt, soll eine Zahl drinnen stehn. Wenn Sie das Panel wieder verlässt, soll nicht mehr drinnen stehn!

Danke schon mal!

faux 20. Nov 2004 09:42

Re: Mouse Leave in Panel
 
OK, ich glaube es hat sich erledigt. Ich habs jetzt zwar nicht elegant gelöst, aber es funktioniert:

Ich habe das Panel in ein Panel gegeben.
Beide haben jeweils ein OnMouseMove Event.
Beim inneren kommt die Zahl, beim äuseren verschwindet sie.

Danke.

Sharky 20. Nov 2004 10:38

Re: Mouse Leave in Panel
 
Hai faux,

hier mal ein Beispiel:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.Caption := '';
end;

procedure TForm1.CMMouseEnter(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) = Panel1.Handle then
  begin
    Panel1.Caption := 'blubb';
  end;
end;

procedure TForm1.CMMouseLeave(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) <> Panel1.Handle then
  begin
    Panel1.Caption := '';
  end;
end;

shifter 21. Feb 2005 21:26

Re: Mouse Leave in Panel
 
Hi Sharky,

wie kann man das gleich Problem lösen wenn mehrere Pannels wurden in Laufzeit erstellt ?

Gruss
seba

phXql 21. Feb 2005 21:34

Re: Mouse Leave in Panel
 
Zitat:

Zitat von shifter
Hi Sharky,

wie kann man das gleich Problem lösen wenn mehrere Pannels wurden in Laufzeit erstellt ?

Gruss
seba

Die JVCL hat so ein Panel drin, da is das OnMouseLeave schon definiert..

shifter 21. Feb 2005 23:07

Re: Mouse Leave in Panel
 
Hi,

das Problemm liegt dadran das ich schaffe es einfach nicht die Package zu Instalieren.
Ich habe zwar die Neuste Version Heruntergeladen aber kommz nur sch.. raus.

Ich habe in Forum mich umgesehen aber ales hilft nicht.


gruss
seba

Sharky 22. Feb 2005 06:35

Re: Mouse Leave in Panel
 
Zitat:

Zitat von shifter
...wenn mehrere Pannels wurden in Laufzeit erstellt ?..

Hai shifter,
in diesem Fall würde ich mir einen eigenen Panaltyp von TPanel ableiten und diesen mit den beiden Ereignissen ausstatten.

shifter 22. Feb 2005 13:15

Re: Mouse Leave in Panel
 
Das ist natürlich leicht gesagt wie getan.
Ich bin nicht so weit damit ich mir eigene komp. erstellen kann .

Wenn Du aber einen beispiel für mich hättest, würde die welt anders aussehen :)

gruss
seba

Texas 24. Jul 2005 17:24

Re: Mouse Leave in Panel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Faux
ich habe hier ein Panel was auf MouseEnter und MouseLeave Ereignisse reagier

Gruß Michael


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