Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Kollision mit Image und Maus ?

  Alt 27. Okt 2006, 17:08
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
  Mit Zitat antworten Zitat