Befindet sich die Maus über einem Control? |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
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 <= Control.Width) and
(p.Y >= 0) and (p.Y <= Control.Height) {AND Control.Visible};
end
else
Result := False;
end;