TN020: Identificação de nomeação e numeração convenções
Esta nota descreve a identificação de nomeação e numeração convenções que 2.0 MFC usa para recursos, comandos, seqüências de caracteres, controles e janelas filho.
A nomeação de identificação MFC e a numeração convenções destinam-se aos seguintes requisitos:
Fornece um padrão de nomeação identificação consistente usado em toda a biblioteca MFC e aplicativos MFC que são suportados pelo editor de recursos do Visual C++.Isso torna mais fácil para o programador interpretar o tipo e a origem de um recurso de sua identificação.
Enfatize o forte relacionamento 1-1 entre determinados tipos de identificações.
Atendem aos padrões já amplamente usados para nomear identificações no Windows.
O espaço de numeração de ID de partição.Números de identificação podem ser atribuídos pelo programador, MFC, Windows e recursos do Visual C++-editada.Particionamento adequado ajudará a evitar a duplicação de números de identificação.
A convenção de nomenclatura de prefixo de ID
Vários tipos de IDs podem ocorrer em um aplicativo.A convenção de nomeação MFC ID define prefixos diferentes para diferentes tipos de recursos.
MFC usa o prefixo "IDR _" para indicar uma identificação de recurso que se aplica a vários tipos de recursos.Por exemplo, para uma janela de quadro determinado MFC usa o mesmo prefixo "IDR _" para indicar um recurso de menu, acelerador, cadeia de caracteres e ícone.A tabela a seguir mostra vários prefixos e seu uso:
Prefixo |
Uso |
---|---|
IDR _ |
Vários tipos de recurso (principalmente usado para menus, aceleradores e faixas de opções). |
IDD _ |
Para recursos de modelo de diálogo (por exemplo, IDD_DIALOG1). |
IDC _ |
Recursos do cursor. |
IDI_ |
Para recursos de ícone. |
IDB_ |
Para recursos de bitmap. |
IDS _ |
Para recursos de cadeia de caracteres. |
Dentro de um recurso de caixa de diálogo MFC segue essas convenções:
Prefixo ou rótulo |
Uso |
---|---|
IDOK, IDCANCEL |
Botão de envio padrão identificações. |
IDC _ |
Para outros controles de caixa de diálogo. |
O prefixo "IDC _" também é usado para cursores.Este conflito não é geralmente um problema porque um aplicativo típico terá algumas cursores e vários controles de caixa de diálogo.
Dentro de um recurso de menu, MFC segue essas 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 seguem 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, eles funcionarão corretamente se eles estão ligados a um comando de menu, um botão ou um botão de barra de diálogo.O mesmo prefixo "ID _" também é usado para uma seqüência de prompt do menu que é exibida na barra de mensagens do programa.A maioria dos itens de menu em seu aplicativo deve seguir as convenções de comando do MFC.Todos do padrão de IDs de comando (por exemplo, ID_FILE_NEW) seguem essa convenção.
MFC também usa "IDP_" como uma forma especializada de seqüências de caracteres (em vez de "IDs _").Seqüências de caracteres com o prefixo "IDP_" são avisos, isto é, cadeias de caracteres usadas nas caixas de mensagem. "IDP_ "seqüências podem conter"% 1"e"% 2"como espaços reservados de seqüências de caracteres determinados pelo programa. "IDP_ "seqüências geralmente têm 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_" como uma forma especializada de controle IDs (em vez de "IDC _").Essas IDs são atribuídas a janelas filho como exibições e divisores pelas classes do framework.Identificações de implementação do MFC são prefixadas com "AFX_".
A convenção de numeração de identificação
A tabela a seguir lista os intervalos válidos para as IDs dos tipos específicos.Alguns dos limites são limites de implementação técnica e outros são convenções projetadas para impedir que suas identificações colidam identificações predefinidas do Windows ou MFC implementações padrão.
Recomendamos que você defina todas as identificações dentro os intervalos recomendados.O limite inferior desses intervalos é 1 porque 0 não é usado.Recomendamos que você use a convenção comum e use 100 ou 101 como o primeiro ID.
Prefixo |
Tipo de recurso |
Intervalo válido |
---|---|---|
IDR _ |
vários |
1 a 0x6FFF |
IDD _ |
modelos de caixa de diálogo |
1 a 0x6FFF |
IDC _, IDI_, IDB_ |
cursores, ícones, bitmaps |
1 a 0x6FFF |
IDS _, IDP_ |
seqüências de caracteres gerais |
1 a 0x7FFF |
ID _ |
comandos |
0x8000 através de 0xDFFF |
IDC _ |
controles |
8 e 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 recurso verdadeiro identificações ser menor ou igual a 0x7FFF.
Implementações de estrutura interna do MFC reservar dois intervalos: 0x7000 através de 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 como IDOK e IDCANCEL.
O intervalo de 0x8000 através de 0xFFFF para seqüências de caracteres é reservado para menu solicita comandos.