Hola!!!
Ya he probé la función que me dijo y me he miré otras que me podían servir, en concreto la PointToClient, PointToScreen y otras. En concreto he utilizado la PointToClient (devuelve coordenadas de pantalla, en coordenadas de cliente). Ahora ya he conseguido que se me dibuje la zona de selección y se quede seleccionado (al menos hasta que no haga otro MouseDown...). Los 2 problemas que me han surgido ahora son:
1º) Cuando utiliza PointToScreen o PointToClient, me devuelve en coordenadas de pantalla o de cliente. El problema es que al hacer esto, hay un "error" en las coordenadas que devuelve, y toca sumarle 47 y 65 pixeles en la x y en la y, respectivamente, para que el rectángulo dibujado coincida exactamente con la posición del puntero, y no lo dibuje un poco alejado del puntero.
2º)Cuando hago el mouseMove, se van dibujando diferentes rectángulos (mirar la captura MouseDown+MouseMove.jpg) hasta que hago el MouseUp, que es cuando se borran los rectángulos y aparece el bueno (mirar MouseUp.jpg). ¿Hay alguna forma para que sólo se dibuje el rectángulo de selección mientras muevo el mouse, y los de posiciones anteriores se borren? Es como el MSPAINT lo que quiero hacer, que se pueda seleccionar un área de una imagen.
En las imagenes adjuntas creo que lo entenderá mejor...
A ver si me puede dar una ayudita, gracias!!!!