Partilhar via


Como gerenciar símbolos

Quando você cria um novo recurso ou objeto de recurso, o ambiente de desenvolvimento atribui a ele um nome de símbolo padrão, por exemplo, IDD_DIALOG1. Você pode usar a janela de Propriedades para alterar o nome do símbolo padrão ou para alterar o nome de qualquer símbolo já associado a um recurso.

Para símbolos associados a um único recurso, você também pode usar a janela de Propriedades para alterar o valor do símbolo. Você pode usar a caixa de diálogo Símbolos de recursos para alterar o valor dos símbolos não atribuídos atualmente a um recurso.

Normalmente, todas as definições de símbolo são salvas em Resource.h. No entanto, talvez seja necessário alterar esse nome de arquivo de inclusão para que você possa, por exemplo, trabalhar com mais de um arquivo de recurso no mesmo diretório.

Observação

Se o projeto ainda não contiver um arquivo .rc, consulte Como criar recursos.

Restrições de nome do símbolo

As restrições em nomes de símbolos são as seguintes:

  • Todos os símbolos devem ser exclusivos no escopo do aplicativo para evitar definições de símbolo conflitantes nos arquivos de cabeçalho.

  • Os caracteres válidos para um nome de símbolo incluem A-Z, a-z, 0-9 e sublinhados ( _ ).

  • Os nomes de símbolo não podem começar com um número e estão limitados a 247 caracteres.

  • Os nomes de símbolos não podem conter espaços.

  • Os nomes de símbolo não diferenciam maiúsculas de minúsculas, mas o caso da primeira definição de símbolo é preservado.

    O arquivo de cabeçalho que define os símbolos é usado pelo compilador/editor de recursos e programas C++ para consultar recursos definidos em um arquivo de recurso. Para dois nomes de símbolo que diferem apenas no caso, o programa C++ verá dois símbolos separados, enquanto o compilador/editor de recursos verá os dois nomes como referência a um único símbolo.

Observação

Se você não seguir o esquema de nome de símbolo padrão (ID*_[palavra-chave]) descrito abaixo e o nome de símbolo for o mesmo que uma palavra-chave conhecida pelo compilador de script de recursos, tentar compilar o arquivo de script de recurso resultará em uma geração de erros aparentemente aleatória que é difícil de diagnosticar. Para evitar isso, siga o esquema de nomenclatura padrão.

Os nomes de símbolo têm prefixos descritivos que indicam o tipo de recurso ou objeto que eles representam. Esses prefixos descritivos começam com a ID da combinação de texto. A biblioteca de Classe do Microsoft Foundation (MFC) usa as convenções de nomenclatura de símbolo mostradas na tabela a seguir:

Categoria Prefix Usar
Recursos IDR_, IDD_, IDC_, IDI_, IDB_ Acelerador ou menu (e recursos associados ou personalizados), caixa de diálogo, cursor, ícone, bitmap
Itens de menu ID_ Item de menu
Comandos ID_ Comando
Controles e janelas filho IDC_ Control
Cadeias de caracteres IDS_ Cadeia de caracteres na tabela de cadeia de caracteres
MFC AFX_ Reservado para símbolos MFC predefinidos

Para alterar um nome de símbolo (ID)

  1. No Modo de exibição de recursos, selecione o recurso.

  2. Na janela Propriedades, digite um novo nome de símbolo ou selecione na lista de símbolos existentes na caixa ID.

    Se você digitar um novo nome de símbolo, ele será atribuído automaticamente a um valor.

Observação

Você pode usar a caixa de diálogo Símbolos de recursos para alterar os nomes dos símbolos não atribuídos atualmente a um recurso.

Restrições de valor do símbolo

Um valor de símbolo pode ser qualquer inteiro expresso da maneira normal para diretivas de pré-processador #define. Aqui estão alguns exemplos de valores de símbolo:

18
4001
0x0012
-3456

Os valores de símbolo para recursos como aceleradores, bitmaps, cursores, caixas de diálogo, ícones, menus, tabelas de cadeia de caracteres e informações de versão devem ser números decimais no intervalo de 0 a 32.767, mas não podem ser hexadecimal. Os valores de símbolo para partes de recursos, como controles de caixa de diálogo ou cadeias de caracteres individuais na tabela de cadeias de caracteres, podem ser de 0 a 65.534 ou de -32.768 a 32.767. Para obter mais informações sobre intervalos de números, consulte TN023: Recursos MFC padrão.

Os símbolos de recursos são números de 16 bits. Você pode inseri-los como assinados ou não assinados, no entanto, eles são usados internamente como inteiros sem sinal, portanto, números negativos serão convertidos em seu valor positivo correspondente.

Algumas limitações dos valores de símbolo são:

  • O ambiente de desenvolvimento do Visual Studio e o MFC usam alguns intervalos de números para finalidades especiais. Todos os números com o conjunto de bits mais significativo (-32.768 para -1 ou 32.768 a 65.534, dependendo do sinal) são reservados pelo MFC.

  • Você não pode definir um valor de símbolo usando outras cadeias de caracteres de símbolo. Por exemplo, não há suporte para a seguinte definição de símbolos:

    #define IDC_MYEDIT  IDC_OTHEREDIT  //not supported
    
  • Você não pode usar macros de pré-processador com argumentos como definições de valor. O exemplo a seguir não é uma expressão válida, independentemente do que ID é avaliado em tempo de compilação:

    #define   IDD_ABOUT  ID(7) //not supported
    
  • Seu aplicativo pode ter um arquivo existente contendo símbolos definidos com expressões.

Para alterar um valor de símbolo

  1. No Modo de exibição de recursos, selecione o recurso.

  2. Na janela Propriedades , digite o nome do símbolo seguido por um sinal de igual e um inteiro na caixa de ID, por exemplo:

    IDC_EDITNAME=5100
    

    O novo valor é armazenado no arquivo de cabeçalho de símbolo na próxima vez que você salvar o projeto. Somente o nome do símbolo permanece visível na caixa de ID e o sinal e o valor iguais não são exibidos depois de validados.

Alterar ou excluir símbolos

Na caixa de diálogo Símbolos de recursos, você pode editar ou excluir símbolos existentes que ainda não foram atribuídos a um recurso ou objeto.

Para alterar um símbolo não atribuído

  1. Na caixa Nome, selecione o símbolo não atribuído e escolha Alterar.

  2. Edite o nome ou o valor do símbolo nas caixas fornecidas na caixa de diálogo Alterar símbolo.

Observação

Para alterar um símbolo atribuído a um recurso ou objeto, você deve usar o editor de recursos ou a janela Propriedades.

Para excluir um símbolo não atribuído (não utilizado)

Na caixa de diálogo Símbolos de recursos, selecione o símbolo que você deseja excluir e escolha Excluir.

Observação

Antes de excluir um símbolo não utilizado em um arquivo de recurso, verifique se ele não é usado em outro lugar no programa ou por arquivos de recurso incluídos no tempo de compilação.

Incluir símbolos

Na primeira vez que o ambiente de desenvolvimento lê um arquivo de recurso criado por outro aplicativo, ele marca todos os arquivos de cabeçalho incluídos como somente leitura. Embora você possa usar a caixa de diálogo Incluir recursos para adicionar arquivos de cabeçalho de símbolo somente leitura adicionais.

Um motivo pelo qual você pode querer usar definições de símbolo somente leitura é para arquivos de símbolo que você planeja compartilhar entre vários projetos.

Você também pode usar arquivos de símbolo incluídos quando tiver recursos existentes com definições de símbolo que usam expressões em vez de inteiros simples para definir o valor do símbolo. Por exemplo:

#define   IDC_CONTROL1 2100
#define   IDC_CONTROL2 (IDC_CONTROL1+1)

O ambiente interpretará corretamente esses símbolos calculados, desde que:

  • Os símbolos calculados sejam colocados em um arquivo de símbolos somente leitura.

  • Seu arquivo de recurso contém recursos aos quais esses símbolos calculados já estão atribuídos.

  • Uma expressão numérica é esperada.

Observação

Se uma cadeia de caracteres ou uma expressão numérica for esperada, a expressão não será avaliada.

Para incluir símbolos compartilhados (somente leitura) no arquivo de recursos

  1. No Modo de exibição de recursos, clique com o botão direito do mouse no arquivo .rc e selecione Incluir recurso.

  2. Na caixa de diretivas de símbolo somente leitura, use a diretiva do compilador #include para especificar o arquivo em que você deseja que os símbolos somente leitura sejam mantidos.

    Não chame o arquivo Resource.h, pois esse é o nome de arquivo normalmente usado pelo arquivo de cabeçalho do símbolo principal.

    Observação

    O que você digita na caixa de diretivas de símbolo somente leitura é incluído no arquivo de recurso exatamente quando você digita. Verifique se o que você digita não contém erros de ortografia ou sintaxe.

    Use a caixa de diretivas de símbolo somente leitura para incluir arquivos apenas com definições de símbolo. Não inclua definições de recurso, caso contrário, definições de recurso duplicadas serão criadas quando o arquivo for salvo.

  3. Coloque os símbolos no arquivo especificado.

    Os símbolos nos arquivos incluídos dessa forma são avaliados sempre que você abre o arquivo de recurso, mas eles não são substituídos no disco quando você salva o arquivo.

  4. Selecione OK.

Para alterar o nome do arquivo de cabeçalho do símbolo de recursos

  1. No Modo de exibição de recursos, clique com o botão direito do mouse no arquivo .rc e escolha Incluir recurso.

  2. Na caixa de arquivo de cabeçalho Símbolo, digite o novo nome do arquivo incluído.

Requisitos

Win32

Confira também

Identificadores de recursos (símbolos)
Como criar símbolos
IDs de símbolos predefinidos