Aceleradores de teclado

Um acelerador de teclado (ou, simplesmente, acelerador) é um pressionamento de tecla ou combinação de pressionamentos de tecla que gera uma mensagem de WM_COMMAND ou WM_SYSCOMMAND para um aplicativo.

Nesta seção

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

Funções de acelerador de teclado

Name Descrição
CopyAcceleratorTable Copia a tabela de acelerador 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 acelerador.
DestroyAcceleratorTable Destrói uma tabela de acelerador.
LoadAccelerators Carrega a tabela de acelerador especificada.
Translateaccelerator Processa chaves de acelerador para comandos de menu. A função converte uma mensagem de 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 do acelerador de teclado

Name 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 ficar ativo. Ela 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 de sua função WindowProc .
WM_QUERYUISTATE Enviado para recuperar o estado da interface do usuário para 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

Name Descrição
WM_INITMENUPOPUP Enviado quando um menu suspenso ou submenu está prestes a ficar 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 de WM_SYSKEYDOWN é traduzida pela função TranslateMessage . Ele especifica o código de caractere de uma chave 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 o botão, o botão restaurar ou fecha.

Estruturas do acelerador de teclado

Name Descrição
ACCEL Define uma tecla de acelerador usada em uma tabela de acelerador.