Compartilhar via


Editor de aceleradores (C++)

Uma tabela de aceleradores é um recurso do Windows C++ que contém uma lista de chaves de acelerador, conhecidas como teclas de atalho, e os identificadores de comando associados a elas. Um programa pode ter mais de uma tabela de aceleradores.

Normalmente, os aceleradores são usados como atalhos de teclado para comandos de programa que também estão disponíveis em um menu ou barra de ferramentas. No entanto, você pode usar a tabela de aceleradores para definir combinações de chaves para comandos que não têm um objeto de interface do usuário associado a eles.

Dica

Ao usar o Editor de aceleradores, clique no botão direito do mouse para exibir um menu de atalho de comandos frequentes. Os comandos disponíveis dependem do que o ponteiro está apontando.

Você pode usar o Modo de Exibição de Classe para conectar comandos de tecla aceleradora para codificar. Para obter uma lista de teclas aceleradoras predefinidas, consulte Teclas aceleradoras.

Observação

O Windows não permite que você crie tabelas de aceleradores vazias. Se você criar uma tabela de aceleradores sem entradas, ela será excluída automaticamente quando você salvar a tabela.

Propriedades de acelerador

Você pode definir propriedades de acelerador na janela Propriedades a qualquer momento. Você também pode usar o Editor de aceleradores para modificar as propriedades do acelerador na tabela de aceleradores. As alterações feitas usando a janela Propriedades ou o Editor de aceleradores têm o mesmo resultado, as edições são refletidas imediatamente na tabela de aceleradores.

A propriedade ID faz referência a cada entrada de tabela de aceleradores no código do programa. Essa entrada é o valor de comando que o programa recebe quando um usuário pressiona a tecla aceleradora ou uma combinação de teclas. Para tornar um acelerador igual a um item de menu, torne a ID a mesma, desde que a ID da tabela de aceleradores seja a mesma que a ID do recurso de menu.

Cada ID do acelerador tem três propriedades: Modifier, Key e Type

A propriedade Modifier define combinações de teclas de controle para o acelerador.

Observação

Na janela Propriedades, a propriedade Modifier aparece como três propriedades boolianas separadas, todas elas podem ser controladas independentemente: Alt, Ctrl e Shift.

Veja a seguir as entradas legais para a propriedade Modifier na tabela de aceleradores:

Valor Descrição
Nenhuma O usuário pressiona apenas o valor Key.

Esse valor é usado com mais eficiência com os valores ASCII/ANSI de 001 a 026, que são interpretados como ^A a ^Z (Ctrl+A até Ctrl+Z).
Alt O usuário deve pressionar Alt antes do valor Key.
Ctrl O usuário deve pressionar Ctrl antes do valor Key, não válido com o tipo ASCII.
Shift O usuário deve pressionar Shift antes do valor Key.
Ctrl+Alt O usuário deve pressionar Ctrl e Alt antes do valor Key, não válido com o tipo ASCII.
Ctrl+Shift O usuário deve pressionar Ctrl e Shift antes do valor Key, não válido com o tipo ASCII.
Alt+Shift O usuário deve pressionar Alt e Shift antes do valor Key, não válido com o tipo ASCII.
Ctrl+Alt+Shift O usuário deve pressionar Ctrl, Alt e Shift antes do valor Key, não válido com o tipo ASCII.

A propriedade Key define a tecla real a ser usada como o acelerador.

Veja a seguir as entradas legais para a propriedade Key na tabela de aceleradores:

Valor Descrição
Um inteiro entre 0 e 255 no formato decimal. O valor determina se o valor é tratado como ASCII ou ANSI da seguinte maneira:

- Números de dígito único são sempre interpretados como a tecla correspondente, em vez de como valores ASCII ou ANSI.
- Os valores de 1 a 26, quando precedidos por zeros, são interpretados como ^A a ^Z, que representa o valor ASCII das letras do alfabeto quando pressionadas com a tecla Ctrl pressionada.
- Valores de 27 a 32 são sempre interpretados como valores decimais de três dígitos de 027 a 032.
- Valores de 033 a 255, precedidos por 0 ou não, são interpretados como valores ANSI.
Um único caractere de teclado. Maiúsculas A - Z ou os números 0 - 9 podem ser ASCII ou valores de tecla virtual. Qualquer outro caractere é apenas ASCII.
Um único caractere de teclado no intervalo A - Z (somente maiúsculas), precedido por um circunflexo (^), por exemplo, ^C. Essa opção insere o valor ASCII da tecla quando ela é pressionada com a tecla Ctrl pressionada.
Qualquer identificador de tecla virtual válido. A caixa Tecla suspensa na tabela de aceleradores contém uma lista de identificadores de tecla virtual padrão.

Observação

Ao inserir um valor ASCII, as opções da propriedade Modifier são limitadas. A única tecla de controle disponível para uso é a Alt.

Dica

Um atalho para definir uma tecla aceleradora é clicar com o botão direito do mouse em uma entrada ou várias entradas na tabela de aceleradores e, em seguida, escolher Próxima tecla digitada e pressionar qualquer uma das teclas ou combinações de teclas no teclado.

Este comando Próxima tecla digitada também está disponível no menu Editar.

A propriedade Type determina se a combinação de teclas de atalho associada à ID do acelerador é interpretada como um valor de tecla ASCII/ANSI ou uma combinação de tecla virtual (VIRTKEY).

  • Se a propriedade Type for ASCII, a propriedade Modifier poderá apenas ser None ou Alt ou ter um acelerador que usa a tecla Ctrl, conforme especificado antes da tecla com um ^.

  • Se a propriedade Type for VIRTKEY, qualquer combinação de valores de Modifier e Key será válida.

Observação

Se você quiser inserir um valor na tabela de aceleradores e ter o valor tratado como ASCII/ANSI, selecione o Tipo para a entrada na tabela e selecione ASCII na lista suspensa. No entanto, se você usar o comando Próxima Tecla Digitada no menu Editar para especificar a Tecla, você deve alterar a propriedade Tipo de VIRTKEY para ASCII antes de inserir o código da Chave.

Tabelas de aceleradores

Em um projeto C++, você pode editar uma tabela de aceleradores diretamente com a edição in-loco no Editor de aceleradores.

Os procedimentos abaixo referem-se ao uso de páginas de propriedades padrão, no entanto, tanto a edição in-loco quanto o método de página de propriedade têm o mesmo resultado. As alterações feitas usando páginas de propriedade ou usando edição in-loco são refletidas imediatamente na tabela de aceleradores.

Para editar em uma tabela de aceleradores

  1. Abra a tabela de aceleradores clicando duas vezes no seu ícone em Modo de Exibição de Recursos.

  2. Selecione uma entrada na tabela e selecione para ativar a edição in-loco.

  3. Selecione na caixa de combinação suspensa ou digite no local para fazer alterações:

    • Para ID, selecione na lista ou no tipo a ser editado.

    • Para Modifier, selecione na lista.

    • Para Key, selecione na lista ou no tipo a ser editado.

    • Para Type, selecione ASCII ou VIRTKEY na lista.

Para encontrar uma entrada em uma tabela de aceleradores aberta

  1. Abra a tabela de aceleradores clicando duas vezes no seu ícone em Modo de Exibição de Recursos.

  2. Selecione um cabeçalho de coluna para classificar o conteúdo da coluna em ordem alfabética. Por exemplo, selecione ID para exibir todas as IDs na tabela de aceleradores em ordem alfabética.

    Em seguida, você pode examinar a lista e localizar a entrada.

Adicionando uma entrada a uma tabela de aceleradores

  1. Abra a tabela de aceleradores clicando duas vezes no seu ícone em Modo de Exibição de Recursos.

  2. Clique com o botão direito do mouse na tabela do aceleradores e escolha Novo acelerador ou selecione a entrada de linha vazia na parte inferior da tabela.

  3. Selecione uma ID na lista suspensa na caixa ID ou digite uma nova ID na caixa ID.

  4. Digite a tecla que você deseja usar como um acelerador ou clique no botão direito do mouse e escolha Próxima tecla digitada para definir uma combinação de teclas ou vá para o menu Editar>Próxima tecla digitada.

  5. Altere Modifier e Type, se necessário, e pressione Enter.

Observação

Verifique se todos os aceleradores que você define são exclusivos. Você pode ter várias combinações de teclas atribuídas à mesma ID sem nenhum efeito inadequado, por exemplo, Ctrl+P e F8 podem ser atribuídas a ID_PRINT. No entanto, ter uma combinação de teclas atribuída a mais de uma ID não funcionará bem, por exemplo, Ctrl+Z atribuída a ID_SPELL_CHECK e ID_THESAURUS.

Para excluir uma entrada de uma tabela de aceleradores

  1. Abra a tabela de aceleradores clicando duas vezes no seu ícone em Modo de Exibição de Recursos.

  2. Selecione a entrada que você deseja excluir ou mantenha pressionada a tecla Ctrl ou Shift ao selecionar para escolher várias entradas.

  3. Clique no botão direito do mouse e escolha Excluir ou vá para o menu Editar>Excluir.

Dica

Você também pode pressionar a tecla Delete para excluir.

Para mover ou copiar uma entrada de tabela de aceleradores para outro arquivo de script de recurso

  1. Abra as tabelas de aceleradores em ambos os arquivos de script de recurso e selecione a entrada que você deseja mover.

  2. No menu Editar, escolha Copiar ou Recortar.

  3. Selecione uma entrada no arquivo de script de recurso de destino e, no menu Editar, escolha Colar.

Observação

Você também pode usar as teclas de atalho para copiar e colar.

Para alterar as propriedades de várias teclas aceleradoras

  1. Abra a tabela de aceleradores clicando duas vezes no seu ícone em Modo de Exibição de Recursos.

  2. Selecione as teclas aceleradoras que deseja alterar, pressionando e mantendo pressionada tecla Ctrl enquanto você seleciona cada uma delas.

  3. Vá para a janela Propriedades e digite os valores que você deseja que todos os aceleradores selecionados compartilhem.

Observação

Cada valor modificador aparece como uma propriedade booliana na janela Propriedades. Se você alterar um valor modificador na janela Propriedades, a tabela de aceleradores tratará o novo modificador como uma adição a todos os modificadores que estavam lá anteriormente. Por isso, se você definir quaisquer valores de modificador, precisará definir todos eles para garantir que cada acelerador compartilhe as mesmas configurações do Modificador.

Requisitos

Win32

Confira também

Editores de recursos
Teclas de aceleração