TN023: Standart MFC Kaynakları
Bu not, MFC kitaplığı tarafından sağlanan ve gereken standart kaynakları açıklar.
Standart Kaynaklar
MFC, uygulamanızda kullanabileceğiniz iki önceden tanımlanmış kaynak kategorisi sunar: küçük resim kaynakları ve standart çerçeve kaynakları.
Küçük resim kaynakları, çerçevenin bağımlı olmadığı, ancak uygulamanızın kullanıcı arabirimine eklemek isteyebileceğiniz ek kaynaklardır. Aşağıdaki küçük resim kaynakları MFC Genel örneği KÜÇÜK RESMI'nde bulunur:
Common.rc: Şu kaynakları içeren tek bir kaynak dosyası:
Çeşitli iş ve veri işleme görevlerini temsil eden büyük bir simge koleksiyonu.
Birkaç yaygın imleç (ayrıca bkz. Afxres.rc).
Birkaç araç çubuğu düğmesi içeren bir araç çubuğu bit eşlemi.
Commdlg.dll tarafından kullanılan bit eşlem ve simge kaynakları.
Indicate.rc: Durum çubuğu anahtar durumu göstergeleri için caps lock için "CAP" gibi dize kaynaklarını içerir.
Prompts.rc: önceden tanımlanmış her komut için ID_FILE_NEW için "Yeni belge oluştur" gibi menü istemi dize kaynaklarını içerir.
Commdlg.rc: Standart COMMDLG iletişim kutusu şablonlarını içeren Visual C++ uyumlu .rc dosyası.
Standart çerçeve kaynakları, çerçevenin iç uygulamalar için bağımlı olduğu AFX tanımlı kimliklere sahip kaynaklardır. Bu AFX tanımlı kaynakları nadiren değiştirmeniz gerekir. Bunu yaparsanız, bu konunun ilerleyen bölümlerinde açıklanan yordamı izlemeniz gerekir.
Aşağıdaki çerçeve kaynakları MFC\INCLUDE dizininde yer alır:
Afxres.rc: Çerçeve tarafından kullanılan yaygın kaynaklar.
Afxprint.rc: Yazdırmaya özgü kaynaklar.
Afxolecl.rc: OLE istemci uygulamalarına özgü kaynaklar.
Afxolev.rc: Tam OLE sunucusu uygulamalarına özgü kaynaklar.
Küçük Resim Kaynaklarını Kullanma
Küçük resim ikili kaynağı kullanmak için
Uygulamanızın kaynak dosyasını Visual C++'da açın.
Common.rc dosyasını açın. Bu dosya tüm ikili küçük resim kaynaklarını içerir. Common.rc dosyası derlendiğinden bu işlem biraz zaman alabilir.
Kullanmak istediğiniz kaynakları Common.rc dosyasından uygulamanızın kaynak dosyasına sürüklerken CTRL tuşunu basılı tutun.
Diğer küçük resim kaynaklarını kullanmak için aynı adımları izleyin. Tek fark, Common.rc yerine uygun .rc dosyasını açmanızdır.
Dekont
Kaynakları yanlışlıkla Common.rc'nin dışına kalıcı olarak taşımamaya dikkat edin. Kaynakları sürüklerken CTRL tuşunu basılı tutarsanız, bir kopya oluşturursunuz. Sürüklerken CTRL tuşunu basılı tutmazsanız kaynaklar taşınır. Common.rc dosyasında yanlışlıkla değişiklik yapmış olabileceğiniz konusunda endişeleriniz varsa, Değişiklikleri Common.rc dosyasına kaydedip kaydetmediğiniz sorulduğunda "Hayır"a tıklayın.
Dekont
.rc kaynak dosyalarında standart .rc dosyalarının üzerine yanlışlıkla kaydetmenizi engelleyen özel bir TEXTINCLUDE kaynağı vardır.
Standart Çerçeve Kaynaklarını Özelleştirme
Standart çerçeve kaynakları genellikle uygulamanın kaynak dosyasındaki #include komutu kullanılarak bir uygulamaya eklenir. AppWizard bir kaynak dosyası oluşturur. Bu dosya, seçtiğiniz AppWizard seçeneklerine bağlı olarak uygun standart çerçeve kaynaklarını içerir. Derleme zamanı yönergelerini değiştirerek hangi kaynakların dahil olduğunu gözden geçirebilir, ekleyebilir veya kaldırabilirsiniz. Bunu yapmak için Kaynak menüsünü açın ve dahilleri ayarla'yı seçin. "Derleme Zamanı Yönergeleri" düzenleme öğesine bakın. Örnek:
#include "afxres.rc"
#include "afxprint.rc"
Standart çerçeve kaynaklarını özelleştirmenin en yaygın örneği, yazdırma, OLE İstemcisi ve OLE Sunucusu desteği için ek eklemeler eklemek veya kaldırmaktır.
Bazı nadir durumlarda, yalnızca dosyanın tamamını eklemek ve kaldırmak yerine, belirli bir uygulama için standart çerçeve kaynaklarının içeriğini özelleştirmek isteyebilirsiniz. Aşağıdaki adımlar, dahil edilen kaynakları nasıl sınırlayabileceğinizi gösterir:
Standart kaynak dosyasının içeriğini özelleştirmek için
Kaynak dosyasını Visual C++'da açın.
Kaynak Kümesi Eklemeleri komutunu kullanarak, özelleştirmek istediğiniz standart .rc dosyasının öğesini kaldırın
#include
. Örneğin, baskı önizleme araç çubuğunu özelleştirmek için çizgiyi kaldırın#include "afxprint.rc"
.MFC\INCLUDE içinde uygun standart kaynak dosyalarını açın. Bu konunun önceki bölümlerindeki örneği takip eden uygun dosya MFC\Include\Aafxprint.rc dosyasıdır
Standart .rc dosyasındaki tüm kaynakları uygulama kaynak dosyanıza kopyalayın.
Uygulama kaynak dosyanızdaki standart kaynakların kopyasını değiştirin.
Dekont
Kaynakları doğrudan standart .rc dosyalarında değiştirmeyin. Bunun yapılması, yalnızca üzerinde çalıştığınız uygulamada değil, her uygulamada kullanılabilen kaynakları değiştirir.