Aceleradores de teclado

Un acelerador de teclado (o simplemente acelerador) es una pulsación de tecla o una combinación de pulsaciones de tecla que genera un mensaje de WM_COMMAND o WM_SYSCOMMAND para una aplicación.

En esta sección

Nombre Descripción
Acerca de los aceleradores de teclado Describe los aceleradores de teclado.
Uso de los aceleradores de teclado Describe las tareas asociadas a los aceleradores de teclado.
Referencia del acelerador de teclado Contiene la referencia de API.

Funciones del acelerador de teclado

Nombre Descripción
CopyAcceleratorTable Copia la tabla de aceleradores especificada. Esta función se usa para obtener los datos de la tabla de aceleradores que corresponden a un identificador de tabla aceleradora o para determinar el tamaño de los datos de la tabla de aceleradores.
CreateAcceleratorTable Crea una tabla de aceleración.
DestroyAcceleratorTable Destruye una tabla de aceleradores.
LoadAccelerators Carga la tabla de aceleradores especificada.
TranslateAccelerator Procesa las teclas de aceleración para los comandos de menú. La función traduce un mensaje WM_KEYDOWN o WM_SYSKEYDOWN a un mensaje de WM_COMMAND o WM_SYSCOMMAND (si hay una entrada para la clave en la tabla de aceleradores especificada) y, a continuación, envía el mensaje WM_COMMAND o WM_SYSCOMMAND directamente al procedimiento de ventana especificado. TranslateAccelerator no devuelve hasta que el procedimiento de ventana haya procesado el mensaje.

Mensajes del acelerador de teclado

Nombre Descripción
WM_CHANGEUISTATE Se envía para indicar que se debe cambiar el estado de la interfaz de usuario.
WM_INITMENU Se envía cuando un menú está a punto de activarse. Se produce cuando el usuario hace clic en un elemento en la barra de menús o presiona una tecla de menú. Esto permite que la aplicación modifique el menú antes de que se muestre.
Una ventana recibe este mensaje a través de la función WindowProc.
WM_QUERYUISTATE Se envía para recuperar el estado de la interfaz de usuario de una ventana.
WM_UPDATEUISTATE Se envía para cambiar el estado de la interfaz de usuario de la ventana especificada y todas sus ventanas secundarias.

Notificaciones del acelerador de teclado

Nombre Descripción
WM_INITMENUPOPUP Se envía cuando un menú desplegable o submenú está a punto de activarse. Esto permite a una aplicación modificar el menú antes de que se muestre, sin cambiar todo el menú.
WM_MENUCHAR Se envía cuando un menú está activo y el usuario presiona una tecla que no corresponde a ninguna tecla de aceleración o mnemónica. Este mensaje se envía a la ventana que posee el menú.
WM_MENUSELECT Se envía a la ventana del propietario de un menú cuando el usuario selecciona un elemento de menú.
WM_SYSCHAR Se publica en la ventana con el foco del teclado cuando la función TranslateMessage traduce un mensaje de WM_SYSKEYDOWN. Especifica el código de caracteres de una tecla de caracteres del sistema, es decir, una tecla de carácter que se presiona mientras la tecla ALT está inactiva.
WM_SYSCOMMAND Una ventana recibe este mensaje cuando el usuario elige un comando en el menú Ventana o cuando el usuario elige el botón maximizar, minimizar el botón, restaurar o cerrar.

Estructuras del acelerador de teclado

Nombre Descripción
ACCEL Define una tecla de aceleración usada en una tabla de aceleradores.