Also ich hab mal sowas ähnliches programmiert, und ich hab das mit mouse.cursorpos gemacht. Allerdings zeigt dir das die globale Position der Maus an, da musst du noch die Position des Formulars sowie die Position des Images abziehen:
Also z.b
Delphi-Quellcode:
if ((mouse.cursorpos.x-form1.left-image1.left)>250)and((mouse.cursorpos.x-form1.left-image1.left)<350)and((mouse.cursorpos.y-form1.top-image1.top)>250)and((mouse.cursorpos.y-form1.top-image1.top)<350)then
begin
(...)
In dem Beispiel hat der button jetzt die Länge 350-250=100 und Breite 350-250=100.
Bestimmt gibts auch einen einfacheren Weg.