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 kökenini 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 kaynaklarca 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 Kullan
IDR_ Birden çok kaynak türü için (öncelikli olarak menüler, hızlandırıcılar ve şeritler için kullanılır).
IDD_ İletişim kutusu şablonu kaynakları için (örneğin, IDD_DIALOG1).
IDC_ İmleç kaynakları için.
IMRAN_ Simge kaynakları için.
IDB_ Bitmap kaynakları için.
KİMLİK_ Dize kaynakları için.

BIR DIALOG kaynağında MFC şu kuralları izler:

Ön ek veya etiket Kullan
TAMAM, İPTAL 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 Kullan
IDM_ MFC komut mimarisini kullanmayan menü öğeleri için.
KİMLİK_ MFC komut mimarisini kullanan menü komutları için.

MFC komut mimarisini izleyen komutların bir ON_COMMAND komut işleyicisi olmalı ve bir ON_UPDATE_COMMAND_UI işleyicisi de 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. Çerçeve sınıfları, bu kimlikleri, görünümler ve ayırıcılar gibi alt pencerelere atar. MFC uygulama kimliklerine "AFX_" ön ekleri eklenir.

ID-Numbering 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
IDD_ 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İK_ Komutlar 0x8000 ile 0xDFFF
IDC_ Kontrol 8'den 0xDFFF'e kadar

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:

    • 0x7000'den 0x7FFF'e (bkz. afxres.h)

    • 0xE000 ile 0xEFFF (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ı, 0xF000 ile 0xFFFF aralığını kullanır.

  • 1 ile 7 arasında denetim kimlikleri IDOK ve IDCANCEL gibi standart denetimler için ayrılmıştır.

  • 0x8000 ila 0xFFFF aralığı dizeler için komut menüsü istemleri olarak ayrılmıştır.

Ayrıca bakınız

Numaraya Göre Teknik Notlar
Kategorilere Göre Teknik Notlar