Aracılığıyla paylaş


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.

Ayrıca bkz.

Sayıya Göre Teknik Notlar
Kategoriye Göre Teknik Notlar