Um acelerador de teclado (ou, simplesmente, acelerador) é um pressionamento de tecla ou uma combinação de pressionamentos de tecla que gera uma mensagem de WM_COMMAND ou WM_SYSCOMMAND para um aplicativo.
Copia a tabela de aceleradores especificada. Essa função é usada para obter os dados de tabela de acelerador que correspondem a um identificador de tabela de acelerador ou para determinar o tamanho dos dados de tabela de acelerador.
Processa chaves de acelerador para comandos de menu. A função converte uma mensagem WM_KEYDOWN ou WM_SYSKEYDOWN para uma mensagem de WM_COMMAND ou WM_SYSCOMMAND (se houver uma entrada para a chave na tabela de acelerador especificada) e envia a mensagem WM_COMMAND ou WM_SYSCOMMAND diretamente para o procedimento de janela especificado.
TranslateAccelerator não retorna até que o procedimento de janela tenha processado a mensagem.
Enviado quando um menu está prestes a se tornar ativo. Isso 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 de ser exibido. Uma janela recebe essa mensagem por meio da função WindowProc.
Enviado quando um menu suspenso ou submenu está prestes a se tornar ativo. Isso permite que um aplicativo modifique o menu antes de ser exibido, sem alterar o menu inteiro.
Enviado quando um menu está ativo e o usuário pressiona uma tecla que não corresponde a nenhuma tecla mnemônica ou aceleradora. Essa 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ção TranslateMessage . Ele especifica o código de caractere de uma tecla de caractere do sistema, ou seja, uma tecla de caractere 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, minimiza botão, botão restaurar ou fechar.