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 Panel und Hot Track (https://www.delphipraxis.net/133204-panel-und-hot-track.html)

youuu 27. Apr 2009 21:14


Panel und Hot Track
 
Hi,

ich möchte gerne das Ereignis HotTrack bei einen Panel auslösen, allerdings nicht wenn ich über das Panel mit der Maus fahre sondern wenn ich über ein Image mit der maus fahre soll das Ereignis HotTrack im Panel ausgelöst werden.

Kann mir jemand sagen wie das funktioniert?

youuu 30. Apr 2009 10:58

Re: Panel und Hot Track
 
hat keiner eine Ahnung?

Tyrael Y. 30. Apr 2009 11:06

Re: Panel und Hot Track
 
Was soll den bitte das Ereignis "Hot Track" sein?
Meine TPanel´s haben so etwa nicht.

...aber mal Pseudo-Code
Delphi-Quellcode:
procedure TMyClass.MyImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  DoHotTrack(MyPanel, True);
  ...
end;

procedure TMyClass.MyImageMouseLeave(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  DoHotTrack(MyPanel, False);
  ...
end;

procedure TMyClass.DoHotTrack(APanel: TMyPanel; HotTrack: Boolean);
begin
  APanel.HotTrack := HotTrack;
end;

Edit: Ich kenn das HotTrack nicht, aber so in etwa, solltest du es wahrscheinlich benutzen.

youuu 30. Apr 2009 11:12

Re: Panel und Hot Track
 
Oh sorry habe ich vergessen zu erwähnen es ist eine Komponente von JVCL.
Dies ist eine Eigentschaft der Komponente.

youuu 30. Apr 2009 11:54

Re: Panel und Hot Track
 
Das hatte ich auch schon ausprobiert, allerdings wird mit "true" nur der Komponente gesagt, Ja wenn die Maus auf der Komponente ist kann HotTrack verwenden.

Das heisst es schlatet die Eigentschaft HotTrack nur an oder aus, allerdings aktiviert sie, sie nicht.

Ich hoffe du weißt was ich meine.

Tyrael Y. 30. Apr 2009 12:05

Re: Panel und Hot Track
 
Dann musst du das "Hot-Track selber machen - was auch immer es macht.

Delphi-Quellcode:
procedure TMyClass.MyImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  DoHotTrack(MyPanel, True);
  ...
end;

procedure TMyClass.MyImageMouseLeave(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  DoHotTrack(MyPanel, False);
  ...
end;

procedure TMyClass.DoHotTrack(APanel: TMyPanel; HotTrack: Boolean);
begin
  if HotTrack then
  begin
    APanel.BevelOuter := bvRaised;
    APanel.Color := clGreen;
  end
  else
  begin
    APanel.BevelOuter := bvNone;
    APanel.Color := clBtnFace;
  end;
end;

youuu 30. Apr 2009 12:19

Re: Panel und Hot Track
 
Super das wars, hät ich mal selber drauf kommen sollen :/

Danke dir.


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