Aracılığıyla paylaş


TN070: MFC Pencere Sınıfı Adları

Dekont

Aşağıdaki teknik not, çevrimiçi belgelere ilk kez eklendiğinden beri güncelleştirilmemiştir. Sonuç olarak, bazı yordamlar ve konular güncel olmayabilir veya yanlış olabilir. En son bilgiler için, çevrimiçi belge dizininde ilgilendiğiniz konuyu aramanız önerilir.

MFC pencereleri, pencerenin özelliklerini yansıtan dinamik olarak oluşturulmuş bir sınıf adı kullanır. MFC, uygulama tarafından üretilen çerçeve pencereleri, görünümler ve açılır pencereler için sınıf adlarını dinamik olarak oluşturur. Bir MFC uygulaması tarafından oluşturulan iletişim kutuları ve denetimler, söz konusu pencere sınıfı için Windows tarafından sağlanan ada sahiptir.

Kendi pencere sınıfınızı kaydedip PreCreateWindow'un geçersiz kılmasında kullanarak dinamik olarak sağlanan sınıf adını değiştirebilirsiniz. MFC tarafından sağlanan sınıf adları aşağıdaki iki biçimden birine uyar:

Afx:%x:%x
Afx:%x:%x:%x:%x:%x

Karakterlerin yerini %x alan onaltılık basamaklar WNDCLASS yapısındaki verilerden doldurulur. MFC, aynı WNDCLASS yapıları gerektiren birden çok C++ sınıfının aynı kayıtlı pencere sınıfını paylaşabilmesi için bu tekniği kullanır. Çoğu basit Win32 uygulamasından farklı olarak, MFC uygulamalarında yalnızca bir WNDPROC vardır, bu nedenle zaman ve bellekten tasarruf etmek için WNDCLASS yapılarını kolayca paylaşabilirsiniz. Yukarıda gösterilen karakterlerin %x değiştirilebilir değerleri aşağıdaki gibidir:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

İlk form (Afx:%x:%x), hCursor, hbrBackground ve hIcon'un tümü NULL olduğunda kullanılır.

Ayrıca bkz.

Sayıya Göre Teknik Notlar
Kategoriye Göre Teknik Notlar
TN020: Kimlik Adlandırma ve Numaralandırma Kuralları