TN020: Convenzioni di denominazione e di numerazione ID.
Questa nota vengono descritte le convenzioni di denominazione e di numerazione dell'ID di MFC 2,0 utilizza per le risorse, i controlli, le stringhe, i controlli e le finestre figlio.
MFC convenzioni di denominazione e di numerazione di ID deve per soddisfare i requisiti seguenti:
Fornire uno standard ID-denominante coerente utilizzato oltre la libreria MFC e le applicazioni MFC supportate dall'editor di risorse di Visual C++.Ciò rende più semplice l'individuazione il programmatore interpreti il tipo e l'origine di risorsa daID.
Evidenziare la stretta relazione 1 a 1 tra determinati tipi di ID.
Conformar agli standard già ampiamente utilizzate per denominare gli ID di windows.
Partizione dello spazio di ID-numerazione.I numeri ID possono essere assegnati dal programmatore, da MFC, da windows e dalle risorse visive di C++-edited.Suddividere appropriato consentirà di evitare la duplicazione dei numeri ID.
La convenzione di denominazione del prefisso ID.
Diversi tipi di ID possono verificarsi in un'applicazione.La convenzione ID-denominante MFC definisce i prefissi diversi per i tipi di risorsa diversi.
MFC utilizza il prefisso “IDR_„ per indicare un ID della risorsa che si applica ai tipi di risorsa più.Ad esempio, per una finestra cornice specificata, MFC utilizzerà lo stesso prefisso “di IDR_„ per indicare una risorsa del menu, tasto di scelta rapida, della stringa e l'icona.Nella tabella seguente sono illustrati i vari prefissi e il relativo utilizzo:
Prefisso |
Utilizzare |
---|---|
IDR_ |
Per i tipi di risorsa più (soprattutto utilizzati per i menu, i tasti di scelta rapida e le barre multifunzione). |
IDD_ |
Per le risorse modello di finestra di dialogo, ad esempio IDD_DIALOG1). |
IDC_ |
Per le risorse cursore. |
IDI_ |
Per le risorse icona. |
IDB_ |
Per le risorse bitmap. |
IDS_ |
Per le risorse di tipo stringa. |
All'interno di una risorsa finestra di dialogo, MFC seguenti convenzioni:
Prefisso o etichetta |
Utilizzare |
---|---|
IDOK, IDCANCEL |
Per il pulsante di comando standard ID. |
IDC_ |
Per altri controlli della finestra di dialogo. |
Il prefisso “di IDC_„ viene utilizzato anche per i cursori.Questo conflitto di denominazione non è in genere un problema perché un'applicazione tipica disporrà di cursori e molti comandi della finestra di dialogo.
All'interno di una risorsa menu, MFC seguenti convenzioni:
Prefisso |
Utilizzare |
---|---|
IDM_ |
Per le voci di menu che non utilizzano l'architettura dei comandi di MFC. |
ID_ |
Per i comandi di menu che utilizzano l'architettura dei comandi di MFC. |
I controlli che seguono l'architettura dei comandi di MFC devono disporre di un gestore comando di ON_COMMAND e possono disporre di un gestore di ON_UPDATE_COMMAND_UI .Se questi gestori comandi seguono l'architettura dei comandi di MFC, funzionano correttamente se vengono associati a un comando di menu, a un pulsante della barra degli strumenti, o a un pulsante della barra della finestra di dialogo.Lo stesso prefisso “di ID_„ viene utilizzato anche per una stringa di richiesta di menu visualizzato nella barra dei messaggi del programma.La maggior parte delle voci di menu nell'applicazione devono seguire convenzioni dei comandi MFC.Tutti gli ID di comando standard (ad esempio, ID_FILE_NEW) seguono questa convenzione.
MFC utilizza anche “IDP_„ come un tipo specializzato di stringhe (anziché “IDS_„).Le stringhe con il prefisso “di IDP_„ sono richieste, ovvero, stringhe utilizzate nelle finestre di messaggio. Le stringhe di IDP_„ possono contenere “%1 " e “%2 " come segnaposto delle stringhe sono determinate dal programma. Le stringhe di IDP_„ hanno in genere argomenti della Guida associati e stringhe “di IDS_„ no. Le stringhe di IDP_„ localizzate sempre e stringhe “di IDS_„ potrebbero non essere localizzate.
La libreria MFC utilizza il prefisso “di IDW_„ come un tipo specializzato di ID del controllo (anziché “IDC_„).Ali ID assegnati alle finestre figlio come visualizzazioni e contenitori di separatori da classi del framework.L'implementazione ID MFC è preceduto da “AFX_„.
La convenzione di ID-Numerazione
Nella tabella seguente sono elencati gli intervalli validi per gli ID dei tipi specifici.Alcuni dei limiti sono limiti tecnici di implementazione e altre convenzioni sono progettate per impedire gli ID da provocare conflitti con gli ID predefiniti windows o le implementazioni predefinite di MFC.
È consigliabile definire tutti gli ID negli intervalli consigliati.Il limite inferiore di questi intervalli è 1 perché 0 non viene utilizzato.Si consiglia di utilizzare la convenzione e utilizzi comuni 100 o 101 come prima ID.
Prefisso |
Tipo di risorsa |
Intervallo valido |
---|---|---|
IDR_ |
più |
1 0x6FFF diretto |
IDD_ |
modelli della finestra di dialogo |
1 0x6FFF diretto |
IDC_, IDI_, IDB_ |
cursori, icone, bitmap |
1 0x6FFF diretto |
IDS_, IDP_ |
stringhe generali |
1 0x7FFF diretto |
ID_ |
comandi |
0x8000 con 0xDFFF |
IDC_ |
Controlli |
8 0xDFFF diretti |
I motivi per questi elementi variano limiti:
Per convenzione, il valore ID di 0 non viene utilizzato.
Le limitazioni di implementazione delle finestre limitano la risorsa true ID per essere minore o uguale a 0x7FFF.
Le implementazioni interne del framework MFC riserva due intervalli: 0x7000 con 0x7FFF e 0xE000 con 0xEFFF.
Diversi controlli del sistema Windows utilizzano l'intervallo di 0xF000 con 0xFFFF.
Il controllo gli ID di 1 a 7 sono riservati per i controlli standard come IDOK e IDCANCEL.
L'intervallo di 0x8000 con 0xFFFF per le stringhe è riservato per le richieste del menu per i controlli.