TN020: Kimlik Adlandırma ve Numaralandırma Kuralları
Bu not, MFC 2.0'ın kaynaklar, komutlar, dizeler, denetimler ve alt pencereler için kullandığı kimlik adlandırma ve numaralandırma kurallarını açıklar.
MFC Kimliği adlandırma ve numaralandırma kuralları aşağıdaki gereksinimleri karşılamaya yöneliktir:
Visual C++ kaynak düzenleyicisi tarafından desteklenen MFC kitaplığı ve MFC uygulamaları arasında kullanılan tutarlı bir kimlik adlandırma standardı sağlayın. Bu, programcının kaynağın türünü ve kaynağını kimliğinden yorumlamasını kolaylaştırır.
Belirli kimlik türleri arasındaki güçlü 1-1 ilişkisini vurgular.
Windows'ta kimlikleri adlandırmak için zaten yaygın olarak kullanılan standartlara uygun olun.
Kimlik numaralandırma alanını bölümleme. Kimlik numaraları programcı, MFC, Windows ve Visual C++tarafından düzenlenen kaynaklar tarafından atanabilir. Uygun bölümleme, kimlik numaralarının çoğaltılmasını önlemeye yardımcı olur.
Kimlik Ön Eki Adlandırma Kuralı
Bir uygulamada çeşitli kimlik türleri oluşabilir. MFC kimlik adlandırma kuralı, farklı kaynak türleri için farklı ön ekleri tanımlar.
MFC, birden çok kaynak türüne uygulanan bir kaynak kimliğini belirtmek için "IDR_" ön ekini kullanır. Örneğin, belirli bir çerçeve penceresi için MFC menü, hızlandırıcı, dize ve simge kaynağını belirtmek için aynı "IDR_" ön ekini kullanır. Aşağıdaki tabloda çeşitli ön ekleri ve bunların kullanımı gösterilmektedir:
Önek | Kullanma |
---|---|
IDR_ | Birden çok kaynak türü için (öncelikli olarak menüler, hızlandırıcılar ve şeritler için kullanılır). |
INAN_ | İletişim kutusu şablonu kaynakları için (örneğin, IDD_DIALOG1). |
IDC_ | İmleç kaynakları için. |
IMRAN_ | Simge kaynakları için. |
IDB_ | Bit eşlem kaynakları için. |
KİMLİK_ | Dize kaynakları için. |
BIR DIALOG kaynağında MFC şu kuralları izler:
Ön ek veya etiket | Kullanma |
---|---|
IDOK, IDCANCEL | Standart basma düğmesi kimlikleri için. |
IDC_ | Diğer iletişim kutusu denetimleri için. |
İmleçler için "IDC_" ön eki de kullanılır. Tipik bir uygulamada birkaç imleç ve birçok iletişim kutusu denetimi olacağı için bu adlandırma çakışması genellikle sorun oluşturmaz.
MFC, menü kaynağında şu kuralları izler:
Önek | Kullanma |
---|---|
IDM_ | MFC komut mimarisini kullanmayan menü öğeleri için. |
KİMLİĞİ_ | MFC komut mimarisini kullanan menü komutları için. |
MFC komut mimarisini izleyen komutların bir ON_COMMAND komut işleyicisi olmalıdır ve ON_UPDATE_COMMAND_UI işleyicisi olabilir. Bu komut işleyicileri MFC komut mimarisini izlerse, menü komutuna, araç çubuğu düğmesine veya iletişim kutusu çubuğu düğmesine bağlı olsalar da düzgün çalışırlar. Programın ileti çubuğunda görüntülenen bir menü istemi dizesi için de aynı "ID_" ön eki kullanılır. Uygulamanızdaki menü öğelerinin çoğu MFC komut kurallarına uygun olmalıdır. Tüm standart komut kimlikleri (örneğin, ID_FILE_NEW) bu kuralı izler.
MFC ayrıca özel bir dize biçimi olarak ("IDS_" yerine "IDP_" kullanır). "IDP_" ön eki olan dizeler, ileti kutularında kullanılan istemlerdir, yani dizelerdir. "IDP_" dizeleri, program tarafından belirlenen dizelerin yer tutucuları olarak "%1" ve "%2" içerebilir. "IDP_" dizelerinin genellikle bunlarla ilişkilendirilmiş yardım konuları vardır ve "IDS_" dizeleri yoktur. "IDP_" dizeleri her zaman yerelleştirilir ve "IDS_" dizeleri yerelleştirilmeyebilir.
MFC kitaplığı ayrıca "IDW_" ön ekini özel bir denetim kimlikleri biçimi olarak ("IDC_" yerine) kullanır. Bu kimlikler, çerçeve sınıfları tarafından görünümler ve bölücüler gibi alt pencerelere atanır. MFC uygulama kimliklerine "AFX_" ön ekleri eklenir.
Kimlik Numaralandırma Kuralı
Aşağıdaki tabloda, belirli türlerin kimlikleri için geçerli aralıklar listelenmiştir. Sınırlardan bazıları teknik uygulama sınırları, diğerleri ise kimliklerinizin Önceden tanımlanmış Windows kimlikleri veya MFC varsayılan uygulamalarıyla çakışmasını önlemek için tasarlanmış kurallardır.
Önerilen aralıkların içinde tüm kimlikleri tanımlamanızı kesinlikle öneririz. 0 kullanılmadığından bu aralıkların alt sınırı 1'dir. Ortak kuralı kullanmanızı ve ilk kimlik olarak 100 veya 101 kullanmanızı öneririz.
Önek | Kaynak türü | Geçerli aralık |
---|---|---|
IDR_ | birden çok | 1 ile 0x6FFF arasında |
INAN_ | iletişim kutusu şablonları | 1 ile 0x6FFF arasında |
IDC_,IDI_,IDB_ | imleçler, simgeler, bit eşlemler | 1 ile 0x6FFF arasında |
IDS_, IDP_ | genel dizeler | 1 ile 0x7FFF arasında |
KİMLİĞİ_ | komutlar | 0xDFFF aracılığıyla 0x8000 |
IDC_ | denetimler | 8 ile 0xDFFF |
Bu aralık sınırlarının nedenleri:
Kurala göre, 0 kimlik değeri kullanılmaz.
Windows uygulama sınırlamaları, gerçek kaynak kimliklerinin 0x7FFF küçük veya eşit olmasını kısıtlar.
MFC'nin iç çerçevesi şu aralıkları ayırır:
0x7FFF aracılığıyla 0x7000 (bkz. afxres.h)
0xEFFF aracılığıyla 0xE000 (bkz. afxres.h)
16000 ile 18000 arasında (bkz. afxribbonres.h)
Bu aralıklar gelecekteki MFC uygulamalarında değişebilir.
Çeşitli Windows sistem komutları, 0xFFFF 0xF000 aralığını kullanır.
1 ile 7 arasında denetim kimlikleri IDOK ve IDCANCEL gibi standart denetimler için ayrılmıştır.
Dizeler için 0xFFFF 0x8000 aralığı, komutlar için menü istemleri için ayrılmıştır.