Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 2. Dez 2002, 15:17
Moin Zusammen,

oder man rüstet ein MouseEnter/MouseLeave nach.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Panel1: TPanel;
  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;

const
  _clMouseEntered = clRed;
  _clMouseLeaved = clBlue;

implementation

{$R *.DFM}

{ TForm1 }

procedure TForm1.CMMouseEnter(var Message: TMessage);

var
  ptWork : TPoint;

begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) = Panel1.Handle then
  begin
    Panel1.Color := _clMouseEntered;
  end;
end;

procedure TForm1.CMMouseLeave(var Message: TMessage);

var
  ptWork : TPoint;

begin
  GetCursorPos(ptWork);
  if WindowFromPoint(ptWork) <> Panel1.Handle then
  begin
    Panel1.Color := _clMouseLeaved;
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat