TN020: Identificação de nomeação e numeração convenções

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

O problema

A nomeação de identificação MFC e a numeração convenções pretendem atender os seguintes requisitos:

Visão geral do prefixo de ID Convenção de nomenclatura

Existem várias categorias ou tipos de IDs em um aplicativo. A Convenção de nomeação MFC ID define prefixos diferentes para tipos diferentes de recursos.

MFC usa o prefixo "IDR _" para referir-se a uma identificação de recurso que se aplica a Múltiplo tipos de recurso. Por exemplo, para uma janela de quadro determinado, o mesmo valor de "IDR _" é usado para se referir a um recurso de menu, acelerador, Cadeia de caracteres e ícone de tudo de uma vez.

IDR _ Múltiplo tipos de recurso (usado para Menus, aceleradores principalmente).
IDD_ Para recursos de modelo 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 Cadeia de caracteres.


Observe que o valor de IDS _ para um recurso de Cadeia de caracteres é o ID do passado para LoadString. A implementação real da Cadeia de caracteres da tabela seqüências de caracteres juntas 16 do grupos de recursos em um segmento.

Dentro de um recurso de diálogo, vamos seguir a Convenção de:

IDOK,IDCANCEL Para 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 de nomes não é geralmente um problema uma vez que um aplicativo típico terá algumas cursores e um grande número de controles de caixa de diálogo.

Dentro de um recurso de Menu, podemos seguir a Convenção de:

IDM_ Para itens de menu não usando o MFC comando arquitetura.
ID _

Para comandos de item de menu usando o MFC comando arquitetura.

Comandos que se seguem a arquitetura de comando do MFC devem ter um manipulador de comando ON_COMMAND e podem ter um manipulador de ON_UPDATE_COMMAND_UI . Se esses manipuladores de comando seguem a arquitetura de comando do MFC, eles serão função corretamente se eles estão vinculados a um item de menu, um botão de barra de ferramentas ou um botão de barra de caixa de diálogo. O mesmo ID _ também é usado para uma Cadeia de caracteres prompt menu exibida na barra de mensagens do programa. A maioria dos itens de menu em seu aplicativo deve seguir a Convenção de comando do MFC. Todas as identificações de comando padrão (por exemplo, ID_FILE_NEW) seguem essa Convenção.

MFC também usa "IDP_" como uma Formulárioa especializada de seqüências de caracteres (ou seja, em vez de "IDs _"). Seqüências de caracteres com o prefixo "IDP_" são "prompts," ou seja, seqüências de caracteres usadas em caixas de mensagem. Seqüências de caracteres "IDP_" podem conter "% 1" e "% 2" como titulares de lugar de seqüências de caracteres determinado pelo programa. Seqüências de caracteres "IDP_" geralmente têm tópicos da ajuda, e seqüências de caracteres "IDs _" não. Seqüências de caracteres de "IDP_" são sempre localizadas, enquanto "IDs _" seqüências podem ou não podem ser localizadas.

A biblioteca MFC também usa o prefixo "IDW_" como uma Formulárioa especializada de identificações de Controlarar (ou seja, em vez de "IDC _"). Essas IDs são atribuídas a filho windows, como modos de exibição e separadores pelas classes do framework. Identificações de implementação do MFC são prefixadas com "AFX _".

Visão geral da Convenção ID-numeração

A seguinte lista os intervalos válidos para as IDs dos tipos específicos. Alguns dos limites são limites de implementação técnica, enquanto outros são apenas convenções para impedir que suas identificações colidindo com identificações predefinidas do Windows ou MFC implementações padrão.

É altamente recomendável que você faça identificações não definidas fora dos intervalos recomendados. Mesmo que o limite inferior de muitos destes intervalos é 1 (0 não é usado), convenção comum começa a utilização prática dos IDs em 100 ou 101.

Prefixo Tipo de recurso Intervalo válido
IDR _ vários 1 - > 0x6FFF
IDD_ modelos de caixa de diálogo 1 - > 0x6FFF
IDC, _ IDI _, IDB_ cursores, ícones, bitmaps 1 - > 0x6FFF
IDS, _ IDP_ seqüências de caracteres gerais 1 - > 0x7FFF
ID _ comandos 0 x 8000 - > 0xDFFF
IDC _ controles 8 - > 0xDFFF

Motivos para esses limites de intervalo:

Técnico anotações por número |nbsp; &Notas técnicas por categoria

Index