Sdílet prostřednictvím


TN020: Konvence pojmenování a číslování pro identifikátory

Toto téma popisuje konvence identifikátorů názvů a číslování, které knihovna MFC 2.0 používá pro prostředky, příkazy, řetězce, ovládací prvky a podřízená okna.

Konvence identifikátorů a číslování knihovny MFC mají splňovat následující požadavky:

  • Poskytnout konzistentní standard pojmenování identifikátorů napříč celou knihovnou MFC a aplikacemi MFC, které jsou podporovány v editoru prostředků jazyka Visual C++.To programátorovi usnadňuje interpretaci typu a původu prostředku z jeho identifikátoru.

  • Zdůraznit silný vztah 1:1 mezi určitými typy identifikátorů.

  • Splnit již široce používané standardy pro vytváření názvů identifikátorů v systému Windows.

  • Rozdělení prostoru číslování identifikátorů.Čísla identifikátorů mohou být přiřazena programátorem, knihovnou MFC, systémem Windows a editovatelnými prostředky jazyka Visual C++.Vhodné rozdělení pomůže vyhnout se duplicitě čísel identifikátorů.

Konvence pojmenování předpony identifikátoru

V aplikaci se může vyskytnout několik typů identifikátorů.Konvence pojmenování identifikátorů knihovny MFC definuje různé předpony pro různé typy prostředků.

Knihovna MFC používá předponu „IDR_“ pro označení identifikátoru prostředku, který se vztahuje k více typům prostředků.Například pro dané okno rámce používá knihovna MFC stejnou předponu „IDR_“ k označení prostředku nabídky, akcelerátoru, řetězce a ikony.Následující tabulka zobrazuje různé předpony a jejich použití:

Předpona

Pomocí

IDR_

Pro více typů prostředků (primárně pro nabídky, akcelerátory a pásy karet).

IDD_

Pro prostředky šablony dialogového okna (například IDD_DIALOG1).

IDC_

Pro prostředky kurzoru.

IDI_

Pro prostředky ikony.

IDB_

Pro prostředky rastrového obrázku.

IDS_

Pro prostředky řetězce.

Pro prostředek dialogového okna knihovna MFC používá tyto konvence:

Předpona nebo popisek

Pomocí

IDOK, IDCANCEL

Pro standardní identifikátory tlačítka.

IDC_

Pro ostatní ovládací prvky dialogového okna.

Předpona „IDC_“ se také používá pro kurzory.Tento konflikt názvů není obvykle problém, protože typická aplikace bude mít několik kurzorů a mnoho ovládacích prvků dialogového okna.

Pro prostředek nabídky knihovna MFC používá tyto konvence:

Předpona

Pomocí

IDM_

Pro položky nabídky, které nepoužívají architekturu příkazu knihovny MFC.

ID_

Pro příkazy nabídky, které používají architekturu příkazu knihovny MFC.

Příkazy, které následují architekturu příkazu knihovny MFC, musí mít obslužnou rutinu příkazu ON_COMMAND a může mít obslužnou rutinu ON_UPDATE_COMMAND_UI.Pokud tyto obslužné rutiny příkazu následují architekturu příkazu knihovny MFC, budou fungovat správně, ať jsou navázány na příkaz nabídky, tlačítko panelu nástrojů nebo tlačítko panelu dialogového okna.Stejná předpona „ID_“ se také používá pro řetězce výzvy nabídky, které se zobrazí na panelu zpráv programu.Většina těchto položek nabídky v aplikaci by měla následovat konvence příkazu knihovny MFC.Všechny standardní identifikátory příkazu (například ID_FILE_NEW) následují tuto konvenci.

Knihovna MFC používá také „IDP_“ jako speciální formu řetězců (namísto „IDS_“).Řetězce s předponou „IDP_“ jsou výzvy, to znamená řetězce použité v okně zprávy. Řetězce „IDP_“ mohou obsahovat „%1“ a „%2“ jako zástupné symboly řetězců určených programem. Řetězce „IDP_“ mají obvykle související témata nápovědy a řetězce „IDS_“ nikoli. Řetězce „IDP_“ jsou vždy lokalizované a řetězce „IDS_“ lokalizované být nemusí.

Knihovna MFC také používá předponu „IDW_“ jako zvláštní formu identifikátorů ovládacích prvků (místo „IDC_“).Tyto identifikátory jsou přiřazeny podřízeným oknům, jako jsou náhledy a příčky, třídami rozhraní.Identifikátory implementace knihovny MFC mají předponu „AFX_“.

Konvence číslování identifikátorů

Následující tabulka uvádí platné rozsahy identifikátorů určitých typů.Některé z těchto limitů jsou limity technického provedení a ostatní jsou konvence, které jsou navrženy tak, aby vaše identifikátory nekolidovaly s předdefinovanými identifikátory systému Windows nebo výchozí implementací knihovny MFC.

Důrazně doporučujeme definovat všechny identifikátory uvnitř doporučené oblasti.Dolní hranice těchto oblastí je 1, protože 0 není použita.Doporučujeme použít obvyklou konvenci a použít 100 nebo 101 pro první identifikátor.

Předpona

Typ prostředku

Platný rozsah

IDR_

vícenásobné

1 až 0x6FFF

IDD_

šablony dialogu

1 až 0x6FFF

IDC_, IDI_, IDB_

kurzory, ikony, bitmapy

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 omezení rozsahu:

  • Podle úmluvy není hodnota identifikátoru 0 použita.

  • Omezení implementace systému Windows omezují, aby identifikátor prostředku byl menší než nebo roven 0x7FFF.

  • Interní rozhraní knihovny MFC rezervuje tyto rozsahy:

    • 0x7000 až 0x7FFF (viz afxres.h)

    • 0xE000 až 0xEFFF (viz afxres.h)

    • 16000 až 18000 (viz afxribbonres.h)

    Tyto rozsahy se mohou změnit v budoucích implementacích knihovny MFC.

  • Několik příkazů systému Windows používá rozsah 0xF000 až 0xFFFF.

  • Identifikátory ovládacího prvku 1 až 7 jsou vyhrazeny pro standardní ovládací prvky, například IDOK a IDCANCEL.

  • Rozsah 0x8000 až 0xFFFF pro řetězce je vyhrazen pro výzvy nabídky příkazů.

Viz také

Další zdroje

Technické poznámky podle čísel

Technické poznámky podle kategorií