Entrada de mouse

En esta sección se describe cómo el sistema proporciona la entrada del mouse a la aplicación y cómo la aplicación recibe y procesa esa entrada.

En esta sección

Tema Descripción
Acerca de la entrada del mouse
En este tema se describe la entrada del mouse.
Uso de la entrada del mouse
En esta sección se tratan las tareas asociadas a la entrada del mouse.
Referencia de entrada del mouse

Functions

Nombre Descripción
_TrackMouseEvent Publica mensajes cuando el puntero del mouse deja una ventana o mantiene el puntero sobre una ventana durante un período de tiempo especificado. Esta función llama a TrackMouseEvent si existe; de lo contrario, la emula.
BlockInput Impide que los eventos de entrada de teclado y mouse lleguen a las aplicaciones.
DragDetect Captura el mouse y realiza un seguimiento de su movimiento hasta que el usuario suelta el botón primario, presiona la tecla ESC o mueve el mouse fuera del rectángulo de arrastre alrededor del punto especificado. El ancho y el alto del rectángulo de arrastre se especifican mediante el SM_CXDRAG y SM_CYDRAG valores devueltos por la función GetSystemMetrics .
EnableMouseInPointer Permite que el mouse actúe como un dispositivo que apunte.
EnableWindow Habilita o deshabilita la entrada del mouse y el teclado en la ventana o control especificados. Cuando la entrada está deshabilitada, la ventana no recibe entradas como clics del mouse y pulsaciones de teclas. Cuando la entrada está habilitada, la ventana recibe toda la entrada.
GetCapture Recupera un identificador de la ventana (si existe) que ha capturado el mouse. Solo una ventana a la vez puede capturar el mouse; esta ventana recibe la entrada del mouse tanto si el cursor está dentro de sus bordes como si no.
GetDoubleClickTime Recupera la hora actual de doble clic para el mouse. Un doble clic es una serie de dos clics del botón del mouse, el segundo que se produce dentro de un tiempo especificado después del primero. El tiempo de doble clic es el número máximo de milisegundos que pueden producirse entre el primer y el segundo clic de un doble clic.
GetMouseMovePointsEx Recupera un historial de hasta 64 coordenadas anteriores del mouse o el lápiz.
IsWindowEnabled Determina si la ventana especificada está habilitada para la entrada del mouse y del teclado.
ReleaseCapture Libera la captura del mouse desde una ventana del subproceso actual y restaura el procesamiento normal de entrada del mouse. Una ventana que ha capturado el mouse recibe toda la entrada del mouse, independientemente de la posición del cursor, excepto cuando se hace clic en un botón del mouse mientras el cursor está en la ventana de otro subproceso.
SendInput Sintetiza pulsaciones de tecla, movimientos del mouse y clics de botón.
SetCapture Establece la captura del mouse en la ventana especificada que pertenece al subproceso actual. SetCapture captura la entrada del mouse cuando el mouse está sobre la ventana de captura, o cuando se presionó el botón del mouse mientras el mouse estaba sobre la ventana de captura y el botón todavía está inactivo. Solo una ventana a la vez puede capturar el mouse.
Si el cursor del mouse está sobre una ventana creada por otro subproceso, el sistema dirigirá la entrada del mouse a la ventana especificada solo si un botón del mouse está inactivo.
SetDoubleClickTime Establece la hora de doble clic del mouse. Un doble clic es una serie de dos clics de un botón del mouse, el segundo que se produce dentro de un tiempo especificado después del primero. El tiempo de doble clic es el número máximo de milisegundos que pueden producirse entre el primer y el segundo clic de un doble clic.
SwapMouseButton Invierte o restaura el significado de los botones del mouse izquierdo y derecho.
TrackMouseEvent Publica mensajes cuando el puntero del mouse deja una ventana o mantiene el puntero sobre una ventana durante un período de tiempo especificado.

La siguiente función está obsoleta.

Función Descripción
mouse_event Sintetiza el movimiento del mouse y los clics de botón.

Notificaciones

NOMBRE Descripción
WM_APPCOMMAND Notifica a una ventana que el usuario generó un evento de comando de aplicación, por ejemplo, haciendo clic en un botón de comando de aplicación mediante el mouse o escribiendo una tecla de comando de aplicación en el teclado.
WM_CAPTURECHANGED Se envía a la ventana que pierde la captura del mouse.
WM_LBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el botón izquierdo del mouse mientras el cursor está en el área cliente de una ventana. Si no se captura el mouse, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_LBUTTONDOWN Publicado cuando el usuario presiona el botón izquierdo del mouse mientras el cursor está en el área cliente de una ventana. Si no se captura el mouse, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_LBUTTONUP Publicado cuando el usuario suelta el botón izquierdo del mouse mientras el cursor está en el área cliente de una ventana. Si no se captura el mouse, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_MBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el botón central del mouse mientras el cursor está en el área cliente de una ventana. Si no se captura el mouse, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_MBUTTONDOWN Publicado cuando el usuario presiona el botón central del mouse mientras el cursor está en el área cliente de una ventana. Si no se captura el mouse, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_MBUTTONUP Publicado cuando el usuario suelta el botón central del mouse mientras el cursor está en el área cliente de una ventana. Si no se captura el mouse, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_MOUSEACTIVATE Se envía cuando el cursor está en una ventana inactiva y el usuario presiona un botón del mouse. La ventana primaria recibe este mensaje solo si la ventana secundaria la pasa a la función DefWindowProc .
WM_MOUSEHOVER Publicado en una ventana cuando el cursor mantiene el puntero sobre el área de cliente de la ventana durante el período de tiempo especificado en una llamada anterior a TrackMouseEvent.
WM_MOUSEHWHEEL Se envía a la ventana de enfoque cuando la rueda de desplazamiento horizontal del mouse está inclinada o girada. La funciónDefWindowProcpropaga el mensaje al elemento primario de la ventana. No debe haber ningún reenvío interno del mensaje, ya que DefWindowProc lo propaga hacia arriba hasta que encuentra una ventana que la procesa.
WM_MOUSELEAVE Se publica en una ventana cuando el cursor sale del área de cliente de la ventana especificada en una llamada anterior a TrackMouseEvent.
WM_MOUSEMOVE Se publica en una ventana cuando se mueve el cursor. Si el mouse no se captura, el mensaje se publica en la ventana que contiene el cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_MOUSEWHEEL Se envía a la ventana de foco cuando se gira la rueda del mouse. La función DefWindowProc propaga el mensaje al elemento primario de la ventana. No debe haber ningún reenvío interno del mensaje, ya que DefWindowProc lo propaga hacia arriba hasta que encuentra una ventana que la procesa.
WM_NCHITTEST Se envía a una ventana para determinar qué parte de la ventana corresponde a una coordenada de pantalla determinada. Esto puede ocurrir, por ejemplo, cuando el cursor se mueve, cuando se presiona o suelta un botón del mouse, o en respuesta a una llamada a una función como WindowFromPoint. Si el mouse no se captura, el mensaje se envía a la ventana debajo del cursor. De lo contrario, el mensaje se envía a la ventana que ha capturado el mouse.
WM_NCLBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el botón izquierdo del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCLBUTTONDOWN Publicado cuando el usuario presiona el botón izquierdo del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCLBUTTONUP Publicado cuando el usuario suelta el botón izquierdo del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCMBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el botón central del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCMBUTTONDOWN Publicado cuando el usuario presiona el botón central del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCMBUTTONUP Publicado cuando el usuario suelta el botón central del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCMOUSEHOVER Se publica en una ventana cuando el cursor mantiene el puntero sobre el área no cliente de la ventana durante el período de tiempo especificado en una llamada anterior aTrackMouseEvent.
WM_NCMOUSELEAVE Se publica en una ventana cuando el cursor sale del área no cliente de la ventana especificada en una llamada anterior aTrackMouseEvent.
WM_NCMOUSEMOVE Se publica en una ventana cuando el cursor se mueve dentro del área no cliente de la ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCRBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el botón derecho del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCRBUTTONDOWN Publicado cuando el usuario presiona el botón derecho del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCRBUTTONUP Publicado cuando el usuario suelta el botón derecho del mouse mientras el cursor está dentro del área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCXBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el primer o segundo botón X mientras el cursor está en el área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCXBUTTONDOWN Publicado cuando el usuario presiona el primer o segundo botón X mientras el cursor está en el área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_NCXBUTTONUP Publicado cuando el usuario suelta el primer o segundo botón X mientras el cursor está en el área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, este mensaje no se publica.
WM_RBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el botón derecho del mouse mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_RBUTTONDOWN Publicado cuando el usuario presiona el botón derecho del mouse mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_RBUTTONUP Publicado cuando el usuario suelta el botón derecho del mouse mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_XBUTTONDBLCLK Publicado cuando el usuario hace doble clic en el primer o segundo botón X mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_XBUTTONDOWN Publicado cuando el usuario presiona el primer o segundo botón X mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.
WM_XBUTTONUP Publicado cuando el usuario suelta el primer o segundo botón X mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.

Estructuras

Nombre Descripción
HARDWAREINPUT Contiene información sobre un mensaje simulado generado por un dispositivo de entrada distinto de un teclado o mouse.
ENTRADA Contiene información utilizada para sintetizar eventos de entrada, como pulsaciones de tecla, movimiento del mouse y clics del mouse.
LASTINPUTINFO Contiene la hora de la última entrada.
MOUSEINPUT Contiene información sobre un evento de mouse simulado.
MOUSEMOVEPOINT Contiene información sobre la ubicación del mouse en coordenadas de pantalla.
TRACKMOUSEEVENT Usado por la función TrackMouseEvent para realizar un seguimiento cuando el puntero del mouse deja una ventana o mantiene el puntero sobre una ventana durante un período de tiempo especificado.