Aceleradores de teclado

Um acelerador de teclado (ou, simplesmente, acelerador) é um pressionamento de teclas ou uma combinação de pressionamentos de teclas que gera um _ comando do WM ou uma mensagem do 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 a aceleradores de teclado.
Referência do acelerador de teclado Contém a referência de API.

Funções do acelerador de teclado

Nome Descrição
CopyAcceleratorTable Copia a tabela de acelerador especificada. Essa função é usada para obter os dados da tabela de aceleração que correspondem a um identificador de tabela de aceleração ou para determinar o tamanho dos dados da tabela de aceleração.
CreateAcceleratorTable Cria uma tabela de acelerador.
DestroyAcceleratorTable Destrói uma tabela de acelerador.
LoadAccelerators Carrega a tabela de acelerador especificada.
TranslateAccelerator Processa chaves do acelerador para comandos de menu. A função converte uma mensagem do WM _ KEYDOWN ou WM _ SYSKEYDOWN em um _ comando do WM ou em uma mensagem do WM _ SYSCOMMAND (se houver uma entrada para a chave na tabela de acelerador especificada) e, em seguida, envia o _ comando do WM ou a mensagem do 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
CHANGEUISTATE do WM _ Enviado para indicar que o estado da interface do usuário deve ser alterado.
INITMENU do WM _ Enviado quando um menu está prestes a ficar 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 que ele seja exibido.
Uma janela recebe essa mensagem por meio de sua função WindowProc .
QUERYUISTATE do WM _ Enviado para recuperar o estado da interface do usuário para uma janela.
UPDATEUISTATE do WM _ Enviado para alterar o estado da interface do usuário para a janela especificada e todas as suas janelas filhas.

Notificações do acelerador de teclado

Nome Descrição
INITMENUPOPUP do WM _ 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 o menu inteiro.
MENUCHAR do WM _ Enviado quando um menu está ativo e o usuário pressiona uma tecla que não corresponde a nenhum mnemônico ou tecla de aceleração. Essa mensagem é enviada para a janela que possui o menu.
MENUSELECT do WM _ Enviado para a janela do proprietário de um menu quando o usuário seleciona um item de menu.
SYSCHAR do WM _ Postado na janela com o foco do teclado quando uma mensagem do WM _ SYSKEYDOWN é convertida pela função TranslateMessage . Especifica o código de caractere de uma chave de caractere do sistema que é uma tecla de caractere que é pressionada enquanto a tecla ALT está inativa.
SYSCOMMAND do WM _ 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, o botão minimizar, o botão restaurar ou o botão fechar.

Estruturas do acelerador de teclado

Nome Descrição
DA aceleração extra Define uma chave de acelerador usada em uma tabela de acelerador.