TN022: Standart komutları uygulaması

Bu Not, mfc 2.0 tarafından sağlanan standart komut uygulamaları açıklanmaktadır. Lütfen bu yana, birçok standart komutları yürütmek için kullanılan mekanizmaları açıklayan Teknik Not 21 ilk okuyun.

Bu açıklama, mfc mimarileri, API ve yaygın bir programlama uygulama varsayar. Belgelenen yanı sıra belgesiz "uygulama yalnızca" API açıklanmıştır. Bu özellikleri veya mfc içinde programı hakkında bilgi edinmek başlamak için bir yer değildir. Visual c++ programlama Kılavuzu ve belgelenmiş bir API ayrıntıları daha fazla genel bilgi için bakınız.

Sorunu

Mfc, üstbilgi dosyasında afxres için birçok standart komutu kimlikleri tanımlar.Bu komutlar h. Framework desteği değişir. Nerede ve nasıl bu komutları olacak çerçevesi sınıflarını idare anlayışı değil biricik göstermek sen nasıl çerçeve dahili olarak çalışıyor ama standart uygulamaları özelleştirmek ve umarım kendi komut işleyicisi uygulamak için birkaç teknik öğretmek konusunda yararlı bilgiler sağlar.

Bu teknik not içeriğini

Her komut kimliği iki bölümde açıklanan:

Çoğu varsayılan komut uygulamaları çerçevesinde'nın temel sınıf ileti Haritası'nda kablolu. Türetilmiş sınıfınızda açık kablolama gerektiren bazı komut uygulamaları vardır. Bunlar "Not" altında açıklanmıştır. AppWizard sağ seçenekleri seçtiyseniz, bu varsayılan işleyiciler için oluşturulan iskelet uygulamaya bağlı olacaktır.

Naming convention

Standart komutları, mümkünse kullanmanızı öneririz basit adlandırma kuralı uygulayın. Çoğu standart komutları standart bir uygulamanın menü çubuğu yerlerde bulunur. Komut simgesel adı "NO_" menü öğesi adı tarafından izlenen standart pop-up menü adı takip başlar. Sembolik büyük harf çizgi sözcük sonlu adıdır. Standart menü öğesi adları olmayan komutlar için "NO_" (örneğin, ID_NEXT_PANE) ile başlayan bir mantıksal komut adı tanımlanır.

"NO_" öneki menü öğeleri, araç çubuğu düğmelerini veya diğer komut kullanıcı arabirimi nesneleri kalmayı tasarlanmıştır komutları göstermek için kullanırız. "NO_" komut işleme komut işleyicileri mfc komut mimari on_command ve ON_UPDATE_COMMAND_UI mekanizmalarını kullanmalısınız.

Standart "IDM_" öneki menü öğeleri için değil komut mimarisini izleyin ve menü özel şifre etkinleştirmek ve devre dışı'nı kullanmanızı öneririz. mfc komut mimarisi aşağıdaki sadece (bunların çubuklarıyla çalışma beri) komutu işleyicileri daha güçlü hale getirir ama komut işleyicisi kodu yeniden kullanılabilir kılan elbette menü belirli komutları sayısı küçük olmalıdır.

Kimlik aralıkları

Teknik Not 20 kimlik aralıklarını MFC'deki kullanımı hakkında daha ayrıntılı bilgi için lütfen.

Mfc standart komutları, 0xE000-0xEFFF aralığında düşmesi. Çünkü onlar kütüphane gelecekteki sürümlerinde değişebilir, bu kimlikleri belirli değerleri üzerinde lütfen güvenmeyin.

Uygulama kendi komutları 0x8000-0xDFFF aralığında tanımlamanız gerekir.

Standart komut kimliklerini

Her komut kimliği için Dosya İSTEMLERİ bulunabilir standart ileti satırı istem dizesi var.RC. Bu menü istemi dize kimliği komut kimliği için aynı olmalıdır.

Yalnızca komut işleyicileri

Durum çubukları göstergeleri olarak kullanılan birkaç standart komut kimliklerini vardır. Bu aynı güncelleştirme komutu UI mekanizması işleme uygulama boşta kalma süre boyunca geçerli görsel durumlarını görüntülemek için kullanın. Kullanıcı tarafından seçilemez beri (yani, durum çubuğu bölme bas edemez), daha sonra komut kimliklerini bu bir on_command işleyicisi için hiçbir mantıklı.

Bu üç CFrameWnd::OnUpdateKeyIndicator, uygun sanal anahtar eşlemek için komut kimliği kullanan bir uygulama yardımcı uygulanır. Ortak bir uygulama etkinleştirir veya devre dışı bırakır (devre dışı durum bölmeleri için = metin) bağlı olup uygun sanal anahtarı şu anda kilitli CCmdUI nesne.

Bu komut işleyicisi özelleştirme önerilmez.

Şu anda orada bu göstergeler standart uygulaması.

Bu göstergeler uygulamak isterseniz, bu gösterge kimlikleri ve göstergeleri, durum çubuğunda sipariş korurken kullanmanızı öneririz (yani, bu sırada: ext, cap, num, scrl, ovr, rec).

Teknik notlar numarasına göre |nbsp; Teknik notlar kategorisine göre

Index