Um acelerador de teclado (ou, simplesmente, acelerador) é um pressionamento de tecla ou combinação de pressionamentos de teclas que gera uma mensagem WM_COMMAND ou WM_SYSCOMMAND para um aplicativo.
Copia a tabela de aceleração especificada. Esta função é usada para obter os dados da tabela aceleradora que correspondem a um identificador da tabela aceleradora ou para determinar o tamanho dos dados da tabela aceleradora.
Processa teclas aceleradoras para comandos de menu. A função traduz uma mensagem WM_KEYDOWN ou WM_SYSKEYDOWN para uma mensagem WM_COMMAND ou WM_SYSCOMMAND (se houver uma entrada para a chave na tabela aceleradora especificada) e, em seguida, envia a mensagem WM_COMMAND ou WM_SYSCOMMAND diretamente para o procedimento de janela especificado.
TranslateAccelerator não retorna até que o procedimento da janela tenha processado a mensagem.
Enviado quando um menu está prestes a ficar ativo. Ocorre quando o usuário clica em um item na barra de menus ou pressiona uma tecla de menu. Isso permite que o aplicativo modifique o menu antes que ele seja exibido. Uma janela recebe esta mensagem através da sua função WindowProc.
Enviado quando um menu suspenso ou submenu está prestes a ficar ativo. Isso permite que um aplicativo modifique o menu antes que ele seja exibido, sem alterar todo o menu.
Enviado quando um menu está ativo e o usuário pressiona uma tecla que não corresponde a nenhuma tecla mnemônica ou aceleradora. Esta mensagem é enviada para a janela que possui o menu.
Postado na janela com o foco do teclado quando uma mensagem WM_SYSKEYDOWN é traduzida pela funçãoTranslateMessage. Ele especifica o código de caractere de uma chave de caractere do sistema, ou seja, uma tecla de caractere que é pressionada enquanto a tecla ALT está inativa.
Uma janela recebe essa mensagem quando o usuário escolhe um comando no menu Janela ou quando o usuário escolhe o botão maximizar, minimizar botão, restaurar ou fechar.