// Als Alternative zu OnMouseMove wird abgefragt, ob sich der
// Mauszeiger über einem WinControl (Button, Panel usw.) befindet.
// Zur ständigen Abfrage kann ein Timer eingesetzt werden.
// Die effektivere Methode wäre allerdings, neue Komponenten
// abzuleiten und dahinein "MouseEnter" und "MouseLeave" zu
// integrieren. Siehe dazu
eine Labelkomponente für Links erstellen

// Getestet mit D4 unter Win98

... 
var 
  Form1: TForm1; 
 
implementation 
 
{$R *.DFM} 
 
var tc: Twincontrol; 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  Timer1.interval := 100; 
  tc := Button1; 
end; 
 
function test: THandle; 
var p: TPoint; 
begin 
  getcursorpos(p); 
  result := windows.windowfrompoint(p); 
end; 
 
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
  if test = tc.handle then 
    label1.caption := 'drauf' else 
    label1.caption := 'daneben'; 
end;


 

Zugriffe seit 6.9.2001 auf Delphi-Ecke