Menüler ve Kaynaklar: Sunucu Ekleme
Bu makalede, görsel düzenleme sunucusu (bileşen) uygulamasındaki menülerde ve diğer kaynaklarda yapılması gereken değişiklikler açıklanmaktadır. Sunucu uygulaması üç moddan birinde başlatılabildiği için menü yapısına ve diğer kaynaklara birçok ekleme yapılmasını gerektirir: tek başına, katıştırılmış veya yerinde. Menüler ve Kaynaklar (OLE) makalesinde açıklandığı gibi, en fazla dört menü kümesi vardır. Dördü de bir MDI tam sunucu uygulaması için kullanılırken, mini sunucu için yalnızca üç tane kullanılır. Uygulama sihirbazı, istediğiniz sunucu türü için gerekli menü düzenini oluşturur. Bazı özelleştirmeler gerekebilir.
Uygulama sihirbazını kullanmıyorsanız HIERSVR'a bakmak isteyebilirsiniz. Rc, bu değişikliklerin nasıl uygulandığını görmek için MFC örnek uygulaması HIERSVR için kaynak betiği.
Bu makalede ele alınan konular şunlardır:
Sunucu Menüsü Eklemeleri
Sunucu (bileşen) uygulamalarında OLE görsel düzenlemesini desteklemek için menü kaynakları eklenmelidir. Uygulama tek başına modda çalıştırıldığında kullanılan menülerin değiştirilmesi gerekmez, ancak uygulamayı derlemeden önce iki yeni menü kaynağı eklemeniz gerekir: biri yerinde etkinleştirmeyi desteklemek için, diğeri de sunucunun tamamen açık olmasını desteklemek için. Her iki menü kaynağı da tam ve mini sunucu uygulamaları tarafından kullanılır.
Yerinde etkinleştirmeyi desteklemek için, tek başına modda çalıştırıldığında kullanılan menü kaynağına çok benzeyen bir menü kaynağı oluşturmanız gerekir. Bu menüdeki fark, Dosya ve Pencere öğelerinin (ve verilerle değil uygulamayla ilgilenen diğer menü öğelerinin) eksik olmasıdır. Kapsayıcı uygulaması bu menü öğelerini sağlar. Bu menü birleştirme tekniği hakkında daha fazla bilgi ve örnek için Menüler ve Kaynaklar: Menü Birleştirme makalesine bakın.
Tam açık etkinleştirmeyi desteklemek için, tek başına modda çalıştırıldığında kullanılan menü kaynağıyla neredeyse aynı bir menü kaynağı oluşturmanız gerekir. Bu menü kaynağında yapılan tek değişiklik, bazı öğelerin sunucunun bileşik belgeye eklenmiş bir öğe üzerinde çalıştığını yansıtacak şekilde yeniden bulunmasıdır.
Bu makalede listelenen değişikliklere ek olarak, kaynak dosyanızın AFXOLESV içermesi gerekir. RC, Microsoft Foundation Sınıf Kitaplığı uygulaması için gereklidir. Bu dosya MFC\Include alt dizinindedir.
Sunucu Uygulama Hızlandırıcısı Tablo Eklemeleri
Sunucu uygulamalarına iki yeni hızlandırıcı tablosu kaynağı eklenmelidir; bunlar daha önce açıklanan yeni menü kaynaklarına doğrudan karşılık gelir. İlk hızlandırıcı tablosu, sunucu uygulaması yerinde etkinleştirildiğinde kullanılır. Dosya ve Pencere menülerine bağlı olanlar dışında görünümün hızlandırıcı tablosundaki tüm girdilerden oluşur.
İkinci tablo, görünümün hızlandırıcı tablosunun neredeyse tam bir kopyasıdır. Tüm farklar, Sunucu Menüsü Eklemeleri'nde belirtilen tam açık menüde yapılan paralel değişikliklerdir.
Bu hızlandırıcı tablosu değişikliklerine örnek olarak, IDR_HIERSVRTYPE_SRVR_IP ve IDR_HIERSVRTYPE_SRVR_EMB hızlandırıcı tablolarını HIERSVR'daki IDR_MAINFRAME ile karşılaştırın. MFC OLE örneği HIERSVR'a eklenen RC dosyası. Dosya ve Pencere hızlandırıcıları yerinde tabloda yok ve bunların tam kopyaları eklenmiş tabloda yer alır.
Sunucu Uygulamaları için Dize Tablosu Eklemeleri
Bir sunucu uygulamasında yalnızca bir dize tablosu eklemesi gerekir; OLE başlatmanın başarısız olduğunu belirten bir dize. Örnek olarak, uygulama sihirbazının oluşturduğu dize tablosu girdisi aşağıda verilmiştir:
Kimlik | String |
---|---|
IDP_OLE_INIT_FAILED | OLE başlatılamadı. OLE kitaplıklarının doğru sürüm olduğundan emin olun. |
Mini Sunucu Eklemeleri
Tam sunucular için yukarıda listelenenlerle aynı eklemeler mini sunucular için de geçerlidir. Mini sunucu tek başına modda çalıştırılamadığından ana menüsü çok daha küçüktür. Uygulama sihirbazı tarafından oluşturulan ana menüde yalnızca Çıkış ve Hakkında öğelerini içeren bir Dosya menüsü vardır. Mini sunucular için ekli ve yerinde menüler ve hızlandırıcılar, tam sunucularla aynıdır.
Ayrıca bkz.
Menüler ve Kaynaklar (OLE)
Menüler ve Kaynaklar: Menü Birleştirme