Am Einfachsten erscheint mir eine Lösung mit Regions, d.h. man erstellt sich eine Funktion, der man die Mauskoordinaten sowie die Eckpunkte des umgebenden Rechtecks übergibt, worauf die temporär mit CreateEllipticRgnIndirect eine Region erstellt und mit PtInRgn prüft, ob sich die Koordinate innerhalb dieser Region befindet. Das erspart zumindest eine Menge Rechnerei und sollte ausreichend genau sein.
[edit] Wobei natürlich der berechtigte Einwand von alleinherrscher zu berücksichtigen ist. Also entweder (Pseudocode):
Code:
wenn im äußeren Kreis:
wenn im mittleren Kreis:
auch im inneren Kreis?
oder
Code:
wenn nicht im inneren Kreis:
wenn nicht im mittleren Kreis:
im äußeren Kreis?
[/edit]