Hai Alex,
das hier wäre eine mögliche Lösung:
Delphi-Quellcode:
type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
FTrackEnter : Boolean;
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.CMMouseEnter(var Message: TMessage);
var
ptWork : TPoint;
begin
GetCursorPos(ptWork);
if WindowFromPoint(ptWork) = TrackBar1.Handle then //Maus ist über der TrackBar1
begin
FTrackEnter := True;
end;
end;
procedure TForm1.CMMouseLeave(var Message: TMessage);
var
ptWork : TPoint;
begin
GetCursorPos(ptWork);
if (WindowFromPoint(ptWork) <> TrackBar1.Handle) and
(FTrackEnter) then //Maus verlässt die TrackBar1
begin
TrackBar1.Visible := False;
FTrackEnter := False;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TrackBar1.Visible := True;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"