Aceleradores de teclado

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.

Nesta seção

Nome Descrição
Sobre aceleradores de teclado Discute aceleradores de teclado.
Como usar aceleradores de teclado Discute tarefas associadas a aceleradores de teclado.
Referência do acelerador de teclado Contém a referência de API.

Funções de acelerador de teclado

Nome Descrição
CopyAcceleratorTable 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.
CreateAcceleratorTable Cria uma tabela de aceleradores.
DestroyAcceleratorTable Destrói uma tabela de aceleradores.
LoadAccelerators Carrega a tabela de aceleradores especificada.
TranslateAccelerator 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.

Mensagens de acelerador de teclado

Nome Descrição
WM_CHANGEUISTATE Enviado para indicar que o estado da interface do usuário deve ser alterado.
WM_INITMENU 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.
WM_QUERYUISTATE Enviado para recuperar o estado da interface do usuário de uma janela.
WM_UPDATEUISTATE Enviado para alterar o estado da interface do usuário para a janela especificada e todas as janelas filho.

Notificações do Acelerador de Teclado

Nome Descrição
WM_INITMENUPOPUP 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.
WM_MENUCHAR 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.
WM_MENUSELECT Enviado para a janela de proprietário de um menu quando o usuário seleciona um item de menu.
WM_SYSCHAR 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.
WM_SYSCOMMAND 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.

Estruturas de acelerador de teclado

Nome Descrição
ACCEL Define uma tecla aceleradora usada em uma tabela de aceleradores.