... así: local aPos := { 0, 10 } aPos = ClientToScreen( oBtn:hWnd, aPos ) aPos = ScreenToClient( oWnd:hWnd, aPos ) y los valores que ahora tiene aPos deberían ser los correctos, y relativos a la ventana principal.
Tienes toda la razón. Los nombres de las Clases no deberían usarse directamente en determinadas clases, sino usar el método que comprueba si una determinada clase es igual ó deriva de otra. Puedes cambiar el nombre de la clase, pero busca en los PRGs ...