TN020: ID názvy a číslování smluv
Tato poznámka popisuje ID názvů a číslování smluv, které MFC 2.0 používá pro zdroje, příkazů, řetězců, ovládací prvky a podřízených oken.
MFC ID názvy a číslování smluv mají splňovat následující požadavky:
Poskytuje konzistentní standard ID pojmenování celé knihovny MFC a MFC aplikace, které jsou podporovány v editoru Visual C++ prostředku.To usnadňuje programátor interpretovat typu a původu prostředků z jeho ID.
Zvýraznit silné 1-1 vztah mezi ID určité typy.
Splňuje normy již široce používaný pro pojmenování ID v systému Windows.
Prostor ID číslování oddílu.Programátor, MFC, Windows a Visual C++ upravovat zdroje lze přiřadit čísla ID.Vhodné rozdělení pomůže duplicitě identifikační čísla.
Konvence předpona ID
Několik typů ID může dojít v aplikaci.Konvence MFC ID definuje různé prefixy pro různé typy prostředků.
MFC používá předponu "IDR_" označuje číslo ID zdroje, který platí pro více typů prostředků.Například pro daný snímek okna MFC pomocí stejnou předponu "IDR_" označuje zdroj nabídky, accelerator, řetězce a ikona.Následující tabulka uvádí různé předpony a jejich využití:
Předpona |
Pomocí |
---|---|
IDR_ |
Více typů prostředků (primárně pro nabídky, akcelerátory a pásy). |
IDD_ |
Dialogové okno šablony zdrojů (například IDD_DIALOG1). |
IDC_ |
Kurzor zdrojů. |
IDI_ |
Ikona zdroje. |
IDB_ |
Pro bitmapové zdroje. |
IDS_ |
Pro řetězec zdroje. |
V dialogovém OKNĚ zdroj takto MFC těchto úmluv:
Předpona nebo popisku |
Pomocí |
---|---|
IDOK IDCANCEL |
Pro standardní tlačítka ID. |
IDC_ |
Pro další ovládací prvky dialogového okna. |
Předpona "IDC_" se používá také pro kurzory.Tento konflikt názvů není obvykle problém, protože Typická aplikace bude mít několik kurzory a mnoho ovládací prvky dialogu.
V nabídce zdroje takto MFC těchto úmluv:
Předpona |
Pomocí |
---|---|
IDM_ |
Pro položky nabídky, které nepoužívají architekturu příkaz MFC. |
ID_ |
Příkazy nabídky, použijte příkaz architektury MFC. |
Příkazy, které podle architektury MFC příkazu musí mít ON_COMMAND popisovač příkazu a může mít ON_UPDATE_COMMAND_UI popisovač.Pokud tyto popisovače příkazu příkaz architektury MFC, budou fungovat správně zda jsou vázány na příkaz nabídky, tlačítka panelu nástrojů nebo tlačítko panelu dialogového okna.Stejnou předponou "ID_" používá také výzvy nabídky zobrazené na panelu zpráv programu.Většina položek nabídky v aplikaci postupujte podle konvence příkaz MFC.Všechny standardní ID příkazu (například ID_FILE_NEW) podle této úmluvy.
MFC používá také "IDP_" jako zvláštní formy řetězce (místo "IDS_").Zobrazování, řetězce používané v polích zprávy jsou řetězce s předponou "IDP_". "IDP_ "řetězce mohou obsahovat"% 1"a"% 2"jako symboly řetězce určuje program. "IDP_ "témata nápovědy související s nimi mají obvykle řetězce a řetězce"IDS_"Ne. "IDP_ "jsou vždy lokalizovány řetězce a řetězce"IDS_"může být lokalizován.
Knihovna MFC používá také předponu "IDW_" jako zvláštní forma řízení ID (namísto "IDC_").Tyto identifikátory jsou přiřazeny podřízených oken, například zobrazení a propojovací jednotky v rámci třídy.ID implementace MFC jsou předponu "AFX_".
ID číslování úmluvy
Následující tabulka obsahuje platný rozsah pro ID specifické typy.Omezení některých omezení technické provedení a ostatní jsou konvencí zabránit tomu, aby vaše ID střetnutí s předdefinované ID systému Windows nebo MFC výchozí implementace.
Důrazně doporučujeme definovat všechny ID uvnitř doporučené rozsahy.Dolní mez těchto oblastí je 1, protože není použita 0.Doporučujeme používat společné úmluvy a 100 a 101 použít jako první ID.
Předpona |
Typ prostředku |
Platný rozsah |
---|---|---|
IDR_ |
více |
1 až 0x6FFF |
IDD_ |
Dialogové okno šablony |
1 až 0x6FFF |
IDC_, IDI_, IDB_ |
kurzory, ikony, rastrové obrázky |
1 až 0x6FFF |
IDS_ IDP_ |
Obecné řetězce |
1 až 0x7FFF |
ID_ |
příkazy |
0x8000 až 0xDFFF |
IDC_ |
ovládací prvky |
8 až 0xDFFF |
Důvody těchto mezí rozsahu:
Dle úmluvy nepoužívá ID hodnotu 0.
Omezení pro implementaci systému Windows omezit true prostředku ID menší než nebo rovno 0x7FFF.
Implementace MFC jeho vnitřní rámec rezervovat dvou oblastí: 0x7000 až 0x7FFF a 0xE000 až 0xEFFF.
Několik příkazů systému Windows použijte rozsah 0xF000 až 0xFFFF.
ID ovládacího prvku 1 až 7 jsou vyhrazeny pro standardní ovládací prvky, například IDOK a IDCANCEL.
Rozsah 0x8000 až 0xFFFF řetězců je vyhrazena pro příkazy nabídky výzvy.