En ese botón se crea una región, pero solo se la utiliza para consultar los mensajes WM_LBUTTONDOWN y WM_LBUTTONUP.
Si debajo de la línea:
Código Delphi
[-]
FKRgn := CreateEllipticRgn(FBtnPoints[1].x,FBtnPoints[1].y,FBtnPoints[2].x,FBtnPoints[2].y);
agregas:
Código Delphi
[-]
SetWindowRGN(Handle, FKRgn, False);
Puedes prescindir de capturar esos dos mensajes. Por contrapartida para Windows es mucho mas costoso trabajar con regiones irregulares que con regiones regulares (Rectaguulares)
Saludos!