Hallo Christian,
wenn möglich würde ich einfach die Pixel-Farbe testen:
Delphi-Quellcode:
function MouseOnShape(canvas: TCanvas; x, y: integer; hitColor: TColor): boolean;
begin
Result := Canvas.Pixels[x, y] = hitColor;
end;
Die Koordinaten müssen natürlich entsprechend transformiert sein und eventuell ist es günstiger mit einer missColor und der Umkehrung der Bedingung zu arbeiten.
Grüße vom marabu