Einzelnen Beitrag anzeigen

Root2k

Registriert seit: 7. Jun 2011
Ort: Ulm
49 Beiträge
 
Delphi XE Enterprise
 
#14

AW: Re: Überprüfen ob Mausklick in bestimmten bereich war

  Alt 23. Mär 2012, 12:31
Hi.

Ich weiß, dass dieser thread schon ein "bisschen" veraltet ist, aber vom Thema her passt das hier ganz gut zu meinem Problem.

Zunächst zu dem Eintrag von Igel:

Delphi-Quellcode:
function InRect(x,y:integer;rect:TRect):boolean;
begin
  result := (x >= rect.Left) and (y >= rect.Top) and (y <= rect.Bottom) and (y >= rect.Top);
end;
Da hat sich ein kleiner Fehler eingeschlichen. Korrekt sollte die Funktion so aussehen:
Delphi-Quellcode:
function InRect(x,y:integer;rect:TRect):boolean;
begin
  result := (x >= rect.Left) and (y >= rect.Top) and (y <= rect.Bottom) and (x <= rect.Right);
end;

Mein Problem bezieht sich auch auf diese Funktion:
Funktioniert das Ganze vielleicht auch irgendwie mit einem Polygon, bzw. einer beliebigen Form die durch ein Punkte-Array definiert ist?
Kann ich z.B. ermitteln wenn sich die Maus in einem Kreis befindet? Derzeit lege ich ein Rechteck außen herum, aber das ist je nach Form sehr ungenau.

Über hilfreiche Beiträge würde ich mich freuen.
  Mit Zitat antworten Zitat