Esta nota describe las ID de nomenclatura y numeración convenciones utilizadas por MFC 2.0 recursos, comandos, cadenas, controles y ventanas secundarias.
El problema
El ID de MFC de nomenclatura y numeración convenciones pretenden cumplir los siguientes requisitos:
Visión general de prefijo de ID de Convención de nomenclatura
Hay varias categorías o tipos de IDs en una aplicación. La Convención de nomenclatura de ID de MFC define prefijos diferentes para tipos diferentes de recursos.
MFC utiliza el prefijo "IDR_" para referirse a un identificador de recursos que se aplica a varios tipos de recursos. Por ejemplo, para una ventana de marco determinado, el mismo valor de "IDR_" se utiliza para referirse a un recurso de menú, acelerador, cadena y icono de todos a la vez.
| IDR_ | Varios tipos de recursos (utilizado principalmente para menús, aceleradores). |
| IDD_ | Para recursos de plantilla de cuadro de diálogo (por ejemplo, IDD_DIALOG1). |
| IDC_ | Recursos de Cursor. |
| IDI_ | Recursos de icono. |
| IDB_ | Recursos de mapa de bits. |
| IDS_ | Para recursos de cadena. |
Tenga en cuenta que el valor IDS_ para un recurso de cadena es el ID pasado a LoadString. La aplicación efectiva de las cadenas de cadena tabla recursos grupos 16 juntos en un segmento.
Dentro de un recurso de cuadro de diálogo, seguimos la Convención de:
| IDOK,IDCANCEL | Para pulsador estándar ID. |
| IDC_ | Para otros controles de cuadro de diálogo. |
El prefijo "IDC_" también se utiliza para los cursores. Este conflicto no es generalmente un problema desde una aplicación típica tendrá pocos cursores y un gran número de controles de cuadro de diálogo.
Dentro de un recurso de menú, seguimos la Convención de:
| IDM_ | Para elementos de menú no utiliza la arquitectura de comando MFC. |
| ID_ | Para comandos de elemento de menú mediante la arquitectura de comando MFC. |
Comandos que siguen la arquitectura de comando MFC deben tener un controlador de comandos ON_COMMAND y pueden tener un controlador de ON_UPDATE_COMMAND_UI . Si estos controladores de comando siguen la arquitectura de comando MFC, funcionará correctamente si están obligados a un elemento de menú, un botón de barra de herramientas o un botón de la barra de diálogo. El mismo ID_ también se utiliza para una cadena de mensaje de menú aparece en la barra de mensajes del programa. La mayoría de los elementos de menú de la aplicación debe seguir la Convención de comando MFC. Todos los identificadores de comandos estándar (por ejemplo, ID_FILE_NEW) siguen esta Convención.
MFC también utiliza "IDP_" como una forma especializada de cadenas (es decir, en lugar de "IDS_"). Las cadenas con el prefijo "IDP_" son "mensajes," es decir, las cadenas utilizadas en cuadros de mensaje. Pueden contener cadenas de "IDP_" "% 1" y "% 2" como lugar de titulares de cadenas determinada por el programa. "IDP_" cadenas suelen tengan temas de ayuda, mientras que las cadenas de "IDS_" no. Cadenas de "IDP_" son siempre localizadas, mientras que las cadenas de "IDS_" pueden o no pueden ser localizadas.
La biblioteca MFC también utiliza el prefijo "IDW_" como una forma especializada de control IDs (es decir, en lugar de "IDC_"). Estos identificadores se asignan a ventanas secundarias como separadores y vistas por las clases de marco. ID de aplicación MFC llevan el prefijo "AFX_".
Visión general de la Convención de numeración de ID
A continuación enumeran los rangos válidos para los identificadores de los tipos específicos. Algunos de los límites son límites de aplicación técnica, mientras que otros son sólo convenciones para impedir que su ID de chocar con identificadores predefinidos de Windows o MFC implementaciones predeterminadas.
Recomendamos encarecidamente que hacer IDs no definidos fuera de los intervalos recomendados. A pesar de que el límite inferior de muchos de estos rangos es 1 (0 no se utiliza), Convención común inicia uso práctico de IDs en 100 o 101.
| Prefijo | Tipo de recurso | Intervalo válido |
| IDR_ | múltiples | 1 - > 0x6FFF |
| IDD_ | plantillas de diálogo | 1 - > 0x6FFF |
| IDC_, IDI_, IDB_ | cursores, iconos, mapas de bits | 1 - > 0x6FFF |
| IDS_, IDP_ | cadenas generales | 1 - > 0x7FFF |
| ID_ | comandos | 0 x 8000 - > 0xDFFF |
| IDC_ | controles | 8 - > 0xDFFF |
Razones para estos límites de intervalo:
&Notas técnicas por número |nbsp; Notas técnicas por categoría