Compartilhar via


Aceleradores de teclado

Um acelerador de teclado (ou, simplesmente, acelerador) é um pressionamento de teclas 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.
usando 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

Nome 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 da tabela de aceleradores.
CreateAcceleratorTable Cria uma tabela de aceleradores.
DestroyAcceleratorTable Destrói uma tabela de aceleradores.
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

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. Ele 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çãoWindowProc.
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

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. Esta 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çã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á inoperante.
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, minimizar botão, botão restaurar ou fechar.

Estruturas do acelerador de teclado

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