Bueno , sigo con mis problemas con el ratón , a ver si alguien sabe como se hace esto.
Tengo una aplicación que estoy haciendo que es en modo ventana con directx y lo que intento es capturar la posición del raton cuando pasa por encima. El problema está en que al capturar el dispositivo raton desde la aplicacion con directinput me resetea su posición a las coordenadas 0,0 de la ventana que no se corresponede con la posición real del raton en pantalla. Por eso necesito algun método para conseguir las coordenadas absolutas en pantalla del ratón.
Es de vida o muerte , sinó el jefe me empapela!!!!!
Mirate estas funcions del api
ScreenToClient
http://msdn.microsoft.com/library/default....rdspac_5oxg.aspClientToScreen
http://msdn.microsoft.com/library/default....rdspac_2tny.aspmICrO
Citar
El 2002-05-30 09:22, capitan_kirk escribió:
Bueno , sigo con mis problemas con el ratón , a ver si alguien sabe como se hace esto.
Tengo una aplicación que estoy haciendo que es en modo ventana con directx y lo que intento es capturar la posición del raton cuando pasa por encima. El problema está en que al capturar el dispositivo raton desde la aplicacion con directinput me resetea su posición a las coordenadas 0,0 de la ventana que no se corresponede con la posición real del raton en pantalla. Por eso necesito algun método para conseguir las coordenadas absolutas en pantalla del ratón.
Es de vida o muerte , sinó el jefe me empapela!!!!!
Efectivamente las funciones que comentas son muy utiles , pero necesito una para saber las coordenadas absolutas del ratón, es decir que me de las coordenadas de este tanto si está dentro o fuera de mi ventana , y en caso de que esté dentro de mi ventana , entonces ya no hay problema.
si alguien tiene la respuesta a esto , junto con las funciones que comenta MiCro , me habeis hecho padre!!!!
Para hacer eso tienes que "capturar" el raton, asi cuando se mueva aunque no este en tu ventana tendras esa informacion.
Un ejemplo de esto, es coger photoshop y abrirlo (sin maximizar), seleccionar seleccion y luego pinchar y mover el raton por fuera de la ventana del photoshop, veras como sigue capturado.
Para eso hay 2 funciones del api
SetCapture
http://msdn.microsoft.com/library/default....usinpt_4fol.aspReleaseCapture
http://msdn.microsoft.com/library/default....usinpt_7asl.aspUn codigo habitual para esto, seria algo asi.....
void CGestorImagenesFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
//de esta forma se puede mover el area de seleccion
//incluso aunque el cursor este fuera de la ventana
//explorer like
SetCapture();
................
}
void CGestorImagenesFrame::OnLButtonUp(UINT nFlags, CPoint point)
{
//ya no necesitamos capturar el raton
ReleaseCapture();
}
mICrO
Citar
El 2002-05-30 12:17, capitan_kirk escribió:
Efectivamente las funciones que comentas son muy utiles , pero necesito una para saber las coordenadas absolutas del ratón, es decir que me de las coordenadas de este tanto si está dentro o fuera de mi ventana , y en caso de que esté dentro de mi ventana , entonces ya no hay problema.
si alguien tiene la respuesta a esto , junto con las funciones que comenta MiCro , me habeis hecho padre!!!!
Mira GetCursorPos(), creo que era esa ^_^
Te da la posición del ratón.
Hola!
SetCapture y ReleaseCapture funcionan a la perfeccion y son muy sencillas de utilizar.
Un saludo!!
< MChiz >