Pregunta

Estoy acostumbrado a trabajar con un marco de Windows que proporciona eventos para cosas como un clic del mouse o un doble clic del mouse. ¿Los eventos de clic son una construcción de Windows (es decir, Windows envía un mensaje WM_DOUBLECLICK o similar) o envía WM_MOUSEDOWN y WM_MOUSEUP a las aplicaciones que luego hacen algunos cálculos para decidir si el evento fue un clic o no?

¿Fue útil?

Solución

Según documentación de MSDN El pedido correcto Los mensajes que verá para el evento de doble clic son: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK y WM_LBUTTONUP

Otros consejos

Es una combinación de mensajes enviados a través de WindowProc (). Los mensajes son WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, WM_LBUTTONUP para el botón izquierdo del mouse, WM_MBUTTONDOWN y así sucesivamente para el botón central, y WM_RBUTTONDOWN y así sucesivamente para el botón derecho del mouse. Consulte el SDK de Windows en MSDN para obtener más información .

Un clic del mouse no es una combinación de mensajes de Windows, pero puede generar, dependiendo de la aplicación en la que se haga clic. Hay una gran diferencia entre la entrada de Windows y los mensajes de Windows, ya que solo son una herramienta para algunas aplicaciones, que se utilizan de muchas maneras diferentes, como se explica en MSDN:

También proporcioné un ejemplo que muestra la diferencia claramente en mi pregunta ¿Cómo podría funcionar usar múltiples cursores en un cliente de Windows? Muestra qué mensajes se envían haciendo clic y que los mensajes de Windows a menudo no son suficientes para emular un clic del mouse, pero si son, cómo se pueden usar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top