Edit: @DeddyH: Yeah, wir sind ja voll das Team geworden
Versuchs mal hiermit:
uses math;
Delphi-Quellcode:
function TForm1.MouseToMoney:string;
var R: array [1..3] of single;
MausRadius:single;
i,MausInShape:integer;
Mittelpunkt:tPoint;
MausPosition:tPoint;
begin
MausPosition:=ScreenToClient(Mouse.CursorPos);
R[1]:=min(Shape1.Width,Shape1.Height) / 2;
R[2]:=min(Shape2.Width,Shape2.Height) / 2;
R[3]:=min(Shape3.Width,Shape3.Height) / 2;
Mittelpunkt.x:=Shape1.left+round(R[1]);
Mittelpunkt.y:=Shape1.top+round(R[1]);
MausInShape:=0;
for i:=3 downto 1 do
if sqr(Mausposition.x-mittelpunkt.x) + sqr(Mausposition.y-Mittelpunkt.y) <= sqr(r[i]) then
MausInShape:=i;
case MausInShape of
0:result:='--';
1:result:='55€';
2:result:='75€';
3:result:='95€';
end;
end;
Bitte in jedem MouseMove Ereigniss aufrufen:
Delphi-Quellcode:
lblPreis.Caption:=MouseToMoney;
Schönen Tag noch, Michael