Home » Tipps & Tricks » System » Tastatur und Maus » Befindet sich die Maus über einem Control?

Befindet sich die Maus über einem Control?

Diese Funktion gibt True zurück, wenn sich die Maus über dem angegebenen Control befindet. Die Funktion gibt allerdings auch True zurück, wenn das Control nicht sichtbar ist (Visible=False) oder von einem anderen Control ganz oder teilweise verdeckt wird.Ist ein Control nicht sichtbar, kann dieses mit Control.Visible abgefragt werden.

function IsMouseOver(Control: TControl): Boolean; 
var 
  p: TPoint;
begin
  if GetCursorPos(p) then 
  begin
    p := Control.ScreenToClient(p);
    Result := (p.X >= 0) and (p.X = 0) and (p.Y <= Control.Height) {AND Control.Visible};
  end
  else
    Result := False;
end;