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.