Thema: Delphi OnMouseOver (Labels)

Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 22. Feb 2003, 10:29
Hai citybreaker,

mit Christian Seehases Code aus diesem Thread

habe ich dies gemacht:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    StaticText1: TStaticText;
  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}

const
  _clMouseEntered = clyellow;
  _clMouseLeaved = clBtnFace;


{ TForm1 }

procedure TForm1.CMMouseEnter(var Message: TMessage);

var
  ptWork : TPoint;

begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) = StaticText1.Handle then //Maus ist über dem StaticText
  begin
    StaticText1.Color := _clMouseEntered;
  end;
end;

procedure TForm1.CMMouseLeave(var Message: TMessage);

var
  ptWork : TPoint;

begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) <> StaticText1.Handle then //Maus verlässt den StaticText
  begin
    StaticText1.Color := _clMouseLeaved;
  end;
end;
Es geht halt nicht mit einem Label sondern mit einem StaticText. Aber damit dürftest Du leben können
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat