Partilhar via


TN020: convenções de nomenclatura de ID e numeração

Essa observação descreve a nomeação de ID e as convenções de numeração que o MFC 2.0 usa para recursos do, comandos, cadeias de caracteres, controles, e janelas filho.

A nomenclatura de MFC ID e as convenções de numeração devem atender aos seguintes requisitos:

  • Forneça um padrão de nomeação consistente usado pela biblioteca MFC e aplicativos MFC que têm suporte do editor de recursos do Visual C++. Isso facilita para que o programador interprete o tipo e a origem de um recurso de sua ID

  • Sublinhe a relação de 1 para forte entre determinados tipos de IDs.

  • Conforme-se os padrões mais amplamente usados para nomear IDs no windows.

  • Divida o espaço de ID- numeração. Os números de identificação podem ser atribuídos pelo programador, por MFC, pelo windows, e os recursos de visual C++-edited. O particionamento apropriado ajudará evitar a duplicação de números de ID.

A convenção de nomenclatura de prefixos de ID

Vários tipos de IDs podem ocorrer em um aplicativo. A convenção de nomenclatura de MFC define prefixos diferentes para tipos de recursos diferentes.

MFC O usa o prefixo “IDR_” para indicar uma ID de recurso que se aplica a vários tipos do recurso. Por exemplo, para uma janela determinada do quadro, MFC o usa o mesmo prefixo “IDR_” para indicar um menu, um acelerador, uma cadeia de caracteres e um recurso de ícone. A tabela a seguir mostra vários prefixos e seu uso:

Prefixo

Uso

IDR_

Para os vários tipos de recursos (principalmente usadas para menus, aceleradores, e fitas).

IDD_

Para os recursos do modelo da caixa de diálogo (por exemplo, IDD_DIALOG1).

IDC_

Para recursos do cursor.

IDI_

Para recursos do ícone.

IDB_

Para recursos de bitmap.

IDS_

Para recursos de cadeia de caracteres.

Em um recurso de CAIXA FROM DIÁLOGO, o MFC segue estas convenções:

Prefixo ou rótulo

Uso

IDOK, IDCANCEL

Para IDs padrão do botão de ação.

IDC_

Para outros controles da caixa de diálogo.

O prefixo “IDC_” também é usado para cursores. Esse conflito de nomeação geralmente não é um problema porque um aplicativo típico terá alguns cursores e muitos controles da caixa de diálogo.

Em um recurso no menu, o MFC segue estas convenções:

Prefixo

Uso

IDM_

Para os itens de menu que não usam a arquitetura de comando MFC.

ID_

Para os comandos de menu que usam a arquitetura de comando MFC.

Os comandos após a arquitetura de comando MFC devem ter um manipulador de comando de ON_COMMAND e pode ter um manipulador de ON_UPDATE_COMMAND_UI . Se esses manipuladores de comando seguem a arquitetura de comando MFC, funcionará corretamente se estiverem associados a um comando de menu, um botão da barra de ferramentas, ou a um botão da barra da caixa de diálogo. O mesmo prefixo “ID_” é usado também para uma cadeia de caracteres de aviso de menu que é exibida na barra de mensagens do programa. A maioria dos itens de menu em seu aplicativo devem seguir as convenções do comando MFC. Todas as IDs padrão de comando (por exemplo, ID_FILE_NEW) seguem a convenção.

MFC O também usa “IDP_” como uma forma especializada de cadeias de caracteres (em vez de “IDS_”). As cadeias de caracteres com o prefixo “IDP_” são avisos, ou seja, cadeias de caracteres usadas nas caixas de mensagem. As cadeias de caracteres de “IDP_” podem conter “%1 " e “%2 " como espaços reservados de cadeias de caracteres determinadas pelo programa. As cadeias de caracteres de “IDP_” normalmente têm os tópicos da ajuda associados a eles, e as cadeias de caracteres de “IDS_” não existe. As cadeias de caracteres de “IDP_” são encontradas sempre, e as cadeias de caracteres de “IDS_” não poderiam ser encontradas.

A biblioteca MFC também usa o prefixo “IDW_” como uma forma especializada de IDs de controle (em vez de “IDC_”). Essas IDs são atribuídos às janelas filho como exibições e separadores por classes da estrutura. As IDs de implementação de MFC são prefixados com “AFX_”.

A convenção de ID- numeração

A tabela a seguir lista os intervalos válidos para as IDs dos tipos específicos. Alguns limites são limites técnicos de implementação, e outras são as convenções que são criadas para impedir que os IDs colidam com IDs predefinidos o windows ou as implementações padrão de MFC.

É altamente recomendável que você define todos os IDs dentro dos intervalos recomendados. O limite inferior desses intervalos é 1 pois 0 não são usados. É recomendável usar a convenção e uso comum 100 ou 101 como a primeira ID

Prefixo

Tipo de recurso

Intervalo válido

IDR_

várias

1 0x6FFF direto

IDD_

modelos da caixa de diálogo

1 0x6FFF direto

IDC_, IDI_, IDB_

cursores, ícones, bitmaps

1 0x6FFF direto

IDS_, IDP_

cadeias de caracteres gerais

1 0x7FFF direto

ID_

comandos

0x8000 com 0xDFFF

IDC_

controles

8 0xDFFF diretos

As razões para esses limites variam:

  • Por convenção, o valor de ID 0 não é usado.

  • As restrições de implementação do windows restringem IDs true de recursos para ser menor ou igual a 0x7FFF.

  • A estrutura interna MFC ele reserva esses intervalos:

    • 0x7000 com 0x7FFF (consulte afxres.h)

    • 0xE000 com 0xEFFF (consulte afxres.h)

    • 16000 a 18000 (consulte afxribbonres.h)

    Esses intervalos podem ser alterados em implementações futuras MFC.

  • Vários comandos de sistema do windows usam o intervalo de 0xF000 a 0xFFFF.

  • As IDs de controle de 1 a 7 são reservados para controles padrão como IDOK e IDCANCEL.

  • O intervalo de 0x8000 a 0xFFFF para cadeias de caracteres é reservado para avisos no menu para comandos.

Consulte também

Outros recursos

Observações técnicas por número

Observações técnicas por categoria