Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar el cuadro de diálogo de MFC para realizar la función de bloc de notas en teléfonos móviles sin utilizar vistas ~~~

Cómo utilizar el cuadro de diálogo de MFC para realizar la función de bloc de notas en teléfonos móviles sin utilizar vistas ~~~

La respuesta anterior no es lo suficientemente precisa

Para un cuadro de diálogo, el mensaje WM_MOUSEMOVE se puede procesar

Luego OnMouseMove(UINT nFlags, punto CPoint)

p>

p>

El segundo punto del parámetro son las coordenadas del mouse

Pero esto no es muy útil, porque el origen (0.0) del valor de coordenadas obtenido por este punto es relativo al cuadro de diálogo y no a toda la pantalla. Para obtener las coordenadas del mouse de toda la pantalla,

Se recomienda agregar

POINT point2 en este proceso OnMouseMove

GetCursorPos(amp; point2); //Obtiene la posición del mouse, relativa a la pantalla

para obtener las coordenadas del mouse.

Otro problema es que si su ventana (cuadro de diálogo) es la ventana actual (activa, superior, con foco de entrada), cuando el puntero del mouse se mueve fuera del cuadro de diálogo, este El cuadro de diálogo no puede obtener mensajes del mouse .

Solución

Llame a esta función SetCapture() en la ubicación adecuada (como la inicialización de la ventana, presionar el botón izquierdo, etc.), de modo que el mouse se capture independientemente de si el mouse está en el cuadro de diálogo o no, pero asegúrese de recordar usar ReleaseCapture() para liberar la captura cuando no desee capturarla (ventana destruida, botón izquierdo del mouse levantado, etc.).