Hallo, natürlich muss es so sein:
Delphi-Quellcode:
function MouseInRect(Rect: TRect; Control: TControl):Boolean;
var p: TPoint;
begin
p := Mouse.CursorPos;
if Control <> nil then
p := Control.ScreenToClient(p);
Result := (p.X >= Min(Rect.Left, Rect.Right)) and (p.X <= Max(Rect.Left, Rect.Right)) and (p.Y >= Min(Rect.Top, Rect.Bottom)) and p.Y <= Max(Rect.Top, Rect.Bottom);
end;
Du solltest die
unit Math einbinden und sie so aufrufen:
Delphi-Quellcode:
if MouseInRect(rect(0,0,50,50),SomeControl) then
...
damit prüfst du, ob die Maus innerhalb des Rechtecks innerhalb des Controls liegt. für ein komplettes Image also:
Delphi-Quellcode:
if MouseInRect(rect(0,0,Image1.Width,Image1.Height),Image1) then
...
Sollte korrekte Resultate erzeugen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1