TN020: ID nomeação e numeração convenções

Esta nota descreve a ID de nomeação e numeração convenções MFC 2.0 usa para recursos, comandos, seqüências de caracteres, controles e janelas filho.

A nomeação do MFC ID e a numeração convenções destinam-se a atender aos seguintes requisitos:

  • Fornecer um padrão de ID de nomeação consistente usado em toda a biblioteca MFC e aplicativos MFC que são suportados pelo Visual C++ recurso editor.Isso torna mais fácil para o programador interpretar o tipo e origem de um recurso de sua ID.

  • Enfatize a forte relação 1 para 1 entre determinados tipos de identificadores.

  • Estão em conformidade com padrões já amplamente usados para nomear IDs no Windows.

  • Particione o espaço de numeração de ID.Números de ID podem ser atribuídos pelo programador, MFC, Windows e recursos editados Visual C++.Particionamento adequado ajudará a evitar a duplicação de números de ID.

A convenção de nomeclatura de prefixo de ID

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

MFC usa o prefixo "IDR_" para indicar uma ID de recurso se aplica a vários tipos de recursos.Por exemplo, para uma janela de determinado quadro, o MFC usa o mesmo prefixo "IDR_" para indicar um recurso de menu, acelerador, seqüência de caracteres e ícone.A tabela a seguir mostra os diversos prefixos e seu uso:

Prefixo

Uso

IDR_

Para vários tipos de recurso (principalmente usados para menus e aceleradores).

IDD_

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

IDC_

Para recursos do cursor.

IDI_

Para recursos de ícone.

IDB_

Para recursos de bitmap.

IDS_

Para recursos de seqüência de caracteres.

Dentro de um recurso DIALOG, MFC segue as seguintes convenções:

Prefixo ou rótulo

Uso

IDOK, IDCANCEL

Para botão de ação padrão identificações.

IDC_

Para outros controles de caixa de diálogo.

O prefixo "IDC_" também é usado para cursores.Esse conflito de nomes não é normalmente um problema porque um aplicativo típico terá alguns cursores e muitos controles de caixa de diálogo.

Dentro de um recurso de menu, MFC segue as seguintes convenções:

Prefixo

Uso

IDM_

Itens de menu que não usam a arquitetura de comando do MFC.

ID_

Comandos de menu que usam a arquitetura de comando do MFC.

Comandos que segue a arquitetura de comando do MFC devem ter um ON_COMMAND manipulador de comando e pode ter um ON_UPDATE_COMMAND_UI manipulador. Se esses manipuladores de comandos seguem a arquitetura de comando do MFC, elas funcionarão corretamente se eles estão ligados a um comando de menu, um botão da BAR de ferramentas ou um botão de BAR da caixa de diálogo.O mesmo prefixo "ID_" também é usado por uma seqüência de aviso do menu que é exibida na BAR de mensagens do programa.A maioria dos itens de menu em seu aplicativo deve seguir as convenções de comando do MFC.Todo o padrão do comando IDs (por exemplo, ID_FILE_NEW) seguir essa convenção.

MFC também usa "IDP_" sistema autônomo uma forma especializada de seqüências de caracteres (em vez de "IDS_").As seqüências de caracteres com o prefixo "IDP_" são avisos, ou seja, cadeias de caracteres usadas nas caixas de mensagem. "IDP_ "cadeias de caracteres podem conter"% 1"e"% 2"sistema autônomo espaços reservados de seqüências de caracteres determinadas pelo programa. "IDP_ "cadeias de caracteres geralmente têm os tópicos da Ajuda associados a eles e seqüências de caracteres"IDS_", não. "IDP_ "cadeias de caracteres são sempre localizadas e seqüências de caracteres"IDS_"não podem ser localizadas.

A biblioteca MFC também usa o prefixo "IDW_" sistema autônomo uma forma especializada de IDs (em vez de "IDC_") de controle.Essas identificações são atribuídas às janelas filho, sistema autônomo modos de exibição e divisores pelas classes do estrutura.Identificações de implementação do MFC são prefixadas com "AFX_".

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

A tabela a seguir lista os intervalos válido para as identificações dos tipos específicos.Alguns dos limites são limites de implementação técnica e outros são convenções que são projetadas para impedir que suas identificações colliding com identificações predefinidas do Windows ou MFC implementações padrão.

É altamente recomendável que você defina todas as identificações de dentro de intervalos recomendados.O limite inferior desses intervalos é 1 como 0 não é usado.Recomendamos que use a convenção comum e use 100 ou 101 sistema autônomo a primeira ID.

Prefixo

Tipo de recurso

Intervalo válido

IDR_

vários

1 a 0x6FFF

IDD_

caixa de diálogo Modelos

1 a 0x6FFF

IDB_ IDC_, IDI_,

cursores, ícones, bitmaps

1 a 0x6FFF

IDS_, IDP_

seqüências de caracteres Geral

1 a 0x7FFF

ID_

comandos

0 x 8000 através de 0xDFFF

IDC_

controles

8 a 0xDFFF

Motivos para esses limites de intervalo:

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

  • Limitações de implementação do Windows restringem true recurso IDs ser menor ou igual a 0x7FFF.

  • Implementações de estrutura interna do MFC reservar dois intervalos: 0x7000 0x7FFF e 0xE000 através de 0xEFFF.

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

  • IDs de controle de 1 a 7 são reservados para controles padrão sistema autônomo IDOK e IDCANCEL.

  • O intervalo de 0 x 8000 a 0xFFFF para seqüências de caracteres é reservado para prompts de menu para comandos.

Consulte também

Outros recursos

Notas técnicas por número

Notas técnicas por categoria