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.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CWinApp::OnFileNew , uygulamaya bağlı olarak farklı şekilde belgeyi şablonların sayısı bu komutu uygular. Tek bir CDocTemplateise, CWinApp::OnFileNew uygun çerçeve ve görünümü sınıf yanı sıra, bu tür yeni bir belge oluşturur.
Birden fazla CDocTemplateise, CWinApp::OnFileNew onlara kullanılacak olan belge tipini seçin izin iletişim kutusu (AFX_IDD_NEWTYPEDLG) ile ister. CDocTemplate seçili belge oluşturmak için kullanılır.
ID_FILE_NEW bir ortak özelleştirme, farklı ve daha fazla grafik seçme-in belge türleri sağlamaktır. Bu durumda kendi CMyApp::OnFileNew uygulamak ve ileti harita CWinApp::OnFileNewyerine koyun. Temel sınıf uygulaması aramaya gerek yok.
Başka bir ortak özelleştirme ID_FILE_NEW her tür belgeyi oluşturmak için ayrı bir komut sağlamaktır. Bu durumda yeni komut kimlikleri, örneğin ID_FILE_NEW_CHART ve ID_FILE_NEW_SHEET tanımlamanız gerekir.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CWinApp::OnFileOpen çağrı açmak için dosyayı dosya ya da yol adı ile CWinApp::OpenDocumentFile tarafından takip CWinApp::DoPromptFileName çok basit bir uygulama var. CWinApp uygulama rutin DoPromptFileName standart FileOpen iletişim kutusunu getirir ve geçerli belge şablonları elde edilen dosya uzantısı olan doldurur.
ID_FILE_OPEN bir ortak özelleştirme FileOpen iletişim özelleştirebilir veya dosya filtreleri eklemek etmektir. Bu özelleştirmek için önerilen varsayılan uygulama kendi FileOpen iletişim ile değiştirin ve belgenin dosya ya da yol adı ile CWinApp::OpenDocumentFile arama yoludur. Temel sınıf aramaya gerek yok.
CDocument::OnFileClose , kullanıcıdan değiştirildi ve OnCloseDocumentçağırır, belgeyi kaydetmek için CDocument::SaveModified çağırır. Belge, yok da dahil olmak üzere tüm kapatma mantığı OnCloseDocument rutin yapılır.
&Notnbsp;ID_FILE_CLOSE wm_close iletiden farklı davranır veya belgeleri çerçeve penceresi için bir sc_close sistem komutlarını gönderdi. Bir pencereyi kapatmak, yalnızca bu belgede gösterilen son çerçeve penceresi ise belge kapanacak. Belgeyi kapatmadan ID_FILE_CLOSE yalnızca belgeyi kapatmak değil ama belgede gösterilen tüm çerçeve Windows'u kapatır.
Uygulanması bir Yardımcısı rutin hem OnFileSave hem de OnFileSaveAsiçin kullanılan CDocument::DoSave kullanır. Önce kaydedilmemiş bir belgeyi kaydederseniz (başka bir deyişle, bir yol adı, FileNew gibi yok) veya salt okunur bir belgeyi okumak, OnFileSave mantığı hareket gibi ID_FILE_SAVE_AS komutu ve yeni bir dosya adı vermesini isteyin. Dosya açma ve kaydetme yaparak gerçek işlemi sanal işlevi OnSaveDocument yapılır.
ID_FILE_SAVEözelleştirmek için iki yaygın nedenleri vardır. Belgeler için Kaydet, sadece ID_FILE_SAVE menü öğeleri ve araç çubuğu düğmeleri, kullanıcı arabiriminden kaldırmayın. Ayrıca belgenizi (başka bir deyişle, hiç arama CDocument::SetModifiedFlag) asla kirli ve çerçeve asla kaydedilmesi için belgeyi neden olur emin olun. Yere bir disk dosyası dışında bu işlem için yeni bir komut tanımlamak için kaydettiğiniz belgeler için.
Bir COleServerDocdurumunda, ID_FILE_SAVE dosyasını kaydet (normal belge) ve dosya Güncelleştirmesi (katıştırılmış belgeler) için kullanılır.
Belge veri tek disk dosyalarında depolanır, ancak varsayılan kullanmak istemediğiniz CDocument sokmak uygulanması, CDocument::OnSaveDocument OnFileSave yerine geçersiz kılmak.
CDocument::OnFileSaveAs uygulama aynı CDocument::DoSave Yardımcısı rutin OnFileSavekullanır. Hiçbir dosya adından önce kayıt belgeleri vardı, OnFileSaveAs komutu sadece ID_FILE_SAVE ele alınır. COleServerDoc::OnFileSaveAs normal belge veri dosyasını kaydetmek için mantığı uygulayan veya için sunucusuna belge ole nesnesini temsil eden başka bir uygulamayı ayrı bir dosya olarak gömülü.
ID_FILE_SAVEmantığı özelleştirirseniz, ID_FILE_SAVE_AS benzer bir moda özelleştirmek istediğiniz veya "Farklı Kaydet" çalışma belgeniz için geçerli olmayabilir. Değil gerektiğinde menü öğesi, menü çubuğundan Kaldır.
Belge nesnesi "temel dosya kayıt sonra bağlı değil dışında" COleServerDoc::OnFileSaveCopyAs uygulaması CDocument::OnFileSaveAsiçin çok benzer. Bellekteki belge "kayıt önce değiştirildiyse", yani o hala "değişiklik". Ayrıca, bu komut yol adı veya belgede depolanan başlık üzerinde etkisi yoktur.
COleServerDoc::OnUpdateDocument uygulaması sadece notifiies gömme kaydedilmesi gereken konteyner. Konteyner sonra katıştırılmış nesneyi kaydetmek için uygun ole API'lerini çağırır.
Şu anda orada bu iletişim için bir standart ve çerçeve bu komutun varsayılan uygulaması vardır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
Bu komutun standart Yazdırma Kurulumu iletişim sağlayan özelleştirme yazıcıyı ve yazdırma ayarlarını için en az çağırır bu belge ya da en çok bu uygulamayı tüm belgeleri. Sistemin tamamı için varsayılan yazıcı ayarlarını değiştirmek için Denetim Masası'nı kullanmanız gerekir.
CWinApp::OnFilePrintSetup bir CPrintDialog nesnesi oluşturup CWinApp::DoPrintDialog uygulama işlevini çağırarak çok basit bir uygulama var. Bu uygulama varsayılan yazıcı ayarlarını ayarlar.
Bu komutu özelleştirmek için ortak belge kaydedildiğinde depolanması gereken belge başına yazıcı ayarları izin verme ihtiyacıdır. CDocument sınıfınızda, bir CPrintDialog nesnesi oluşturur, uygun yazıcı özniteliklerle (genellikle hDevMode ve hDevNames) başlatır bir iletiyi göster işleyici eklemek gerekir bunun için CPrintDialog::DoModal, çağrı ve değiştirilen yazıcı ayarlarını kaydedin. Güçlü bir uygulama için hatalar ve CWinApp::UpdatePrinterSelection duyarlı varsayılan ayarları ile ilgili ve sistemde yazıcı değişiklikleri izlemek için algılamak için CWinApp::DoPrintDialog uygulanması görünmelidir.
&Notnbsp; Bu sizin CViewiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
Bu komut, geçerli belgeyi yazdırır veya daha doğru bir şekilde standart yazdırma iletişim çağırma ve baskı motoru çalışan yazdırma işlemi başlar.
CView::OnFilePrint bu komut ve ana yazdırma döngü gerçekleştirir. Kullanıcının yazdırma iletişim kutusu ile sorulması için sanal CView::OnPreparePrinting çağırır. Sonra çıktıyı yazıcıya gitmek dc hazırlar, yazdırma ilerleme durumu iletişim kutusunu (AFX_IDD_PRINTDLG) getiriyor ve StartDoc kaçış yazıcıya gönderir. CView::OnFilePrint Ana sayfa yönelimli yazdırma döngü de içerir. Her sayfa için bunu StartPage kaçış tarafından takip ve sayfa için sanal CView::OnPrint çağıran sanal CView::OnPrepareDC çağırır. Tamamlandığında, sanal CView::OnEndPrinting denir ve yazdırma ilerleme iletişim kutusu kapatılır.
Mfc yazdırma mimarisi, yazdırma ve Yazdırma önizlemesi için birçok farklı şekilde bağlamak için tasarlanmıştır. Normalde çeşitli CView geçersiz işlev herhangi bir sayfa yönelimli yazdırma görevleri için yeterli bulacaksınız. Yazıcı sayfa odaklı çıktı için kullanan sadece bir uygulama durumunda, ID_FILE_PRINT uygulanması değiştirmek zorunda bulmak gerekir.
&Notnbsp; Bu sizin CViewiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CView::OnFilePrintPreview , CView::DoPrintPreviewbelgelenen yardımcı işlevini çağırarak Baskı Önizleme modunu başlatır. Sadece OnFilePrint için baskı döngü ana motoru olarak CView::DoPrintPreview ana için baskı önizleme döngü motorudur.
Baskı önizleme işlemini DoPrintPreviewiçin farklı parametreler aktararak çeşitli şekillerde özelleştirilebilir. Bazı ayrıntılar Baskı Önizleme ve özelleştirmek nasıl ele Teknik Not 30için bakınız.
CWinApp::OnUpdateRecentFileMenu ON_UPDATE_COMMAND_UI mekanizması daha gelişmiş kullanır biri bir güncelleştirme komutu UI işleyicisi var. Menü kaynağınızın yalnızca kimliği ID_FILE_MRU_FILE1bir tek Menü öğesiyle tanımlamak. Bu menü öğesinin başlangıçta devre dışı kalır.
Mru liste büyüdükçe, daha fazla menü öğeleri listesine eklenir. Standart CWinApp uygulama Varsayılanları standart sınırlamak için dört en son kullanılan dosyalar. Daha büyük veya daha küçük bir değerle CWinApp::LoadStdProfileSettings arayarak, varsayılan ayarı değiştirebilirsiniz. mru listesi uygulamanın saklanır.INI dosyası. LoadStdProfileSettingsarayın ve uygulamanızın çıktığında kaydedilir liste uygulamanızın InitInstance işlevinde yüklenir. mru güncelleştirme komutu UI işleyicisi, mutlak yollar, Dosya menüsünde görüntülenmesi için göreli yollara dönüştürür.
CWinApp::OnOpenRecentFile gerçekleştirdiği fiili komutu on_command denetleyicisidir. Sadece aramaları CWinApp::OpenDocumentFilehangi dosya açma ve mru listesinin güncelleştirilmesi tüm çalışır ve mru listesindeki dosya adını alır.
Bu komut işleyicisi özelleştirme önerilmez.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView CEdit::Clearkullanarak bu komut uygulaması sağlar. Geçerli seçim ise komutu devre dışı bırakılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz mfc eğitimde örnek görmek KARALAMAK için bir örnek uygulama.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView seçili metni panoya kopyalar CEdit::Copykullanarak cf_text bu komut, uygulaması sağlar. Geçerli seçim ise komutu devre dışı bırakılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView CEdit::Cutkullanarak seçili metni panoya cf_text keser, bu komut uygulaması sağlar. Geçerli seçim ise komutu devre dışı bırakılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView uygulama yardımcı işlevini kullanın ve özel uygulama değişkenleri önceki Bul ve Değiştir ayarları depolamak için OnEditFindReplace çağırır, bu komut uygulaması sağlar. CFindReplaceDialog sınıfı, kullanıcıdan kalıcı olmayan bir iletişim yönetmek için kullanılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView CEdit::Pastekullanarak seçili metni değiştirme geçerli pano verilerini kopyalar, bu komut uygulaması sağlar. Pano'ya hiçbir cf_text ise komutu devre dışı bırakılır.
COleClientDoc sadece bu komut için bir güncelleştirme komutu UI işleyicisi sunar. Pano gömülebilir ole madde/nesnesi içermiyorsa, komut devre dışı bırakılacak. Eğer gerçek yapıştırma yapmak gerçek komut işleyici yazmak için sorumludur. ole uygulamanız diğer biçimleri de yapıştırabilirsiniz, kendi güncelleştirme komutu UI işleyicisi belge (başka bir deyişle, yere COleClientDoc komutunu hedef önce yönlendirme) veya Görünüm sağlamalıdır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Standart ole uygulaması yerine için COleClientItem::CanPaste kullanın.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
COleDocument sadece bu komut için bir güncelleştirme komutu UI işleyicisi sunar. Pano linkable ole madde ve nesne içermiyorsa, komut devre dışı bırakılacak. Eğer gerçek yapıştırma yapmak gerçek komut işleyici yazmak için sorumludur. ole uygulamanız diğer biçimleri de yapıştırabilirsiniz, kendi güncelleştirme komutu UI işleyicisi belge (başka bir deyişle, yere COleDocument komutunu hedef önce yönlendirme) veya Görünüm sağlamalıdır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Standart ole uygulaması yerine için COleClientItem::CanPasteLink kullanın.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf. mfc bu iletişim sağlamaz.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView son bulma işlemi yinelemek için bu komutu uygulaması sağlar. Son aranan özel uygulama değişkenleri kullanılır. Bul değil teşebbüs olabilir eğer komutu devre dışı bırakılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView uygulama yardımcı işlevini kullanın ve özel uygulama değişkenleri önceki Bul ve Değiştir ayarları depolamak için OnEditFindReplace çağırır, bu komut uygulaması sağlar. CFindReplaceDialog sınıfı, kullanıcı ister kalıcı olmayan bir iletişim yönetmek için kullanılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView , belgedeki tüm metni seçer, bu komut uygulaması sağlar. Metin seçmek için ise komutu devre dışı bırakılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
CEditView , CEdit::Undokullanarak bu komut uygulaması sağlar. CEdit::CanUndo false döndürürse komutu devre dışı bırakılır.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
Şu anda bu komutun standart uygulaması yoktur. Bunun için her CViewuygulamalıdır-türetilmiş sınıf.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
CMDIFrameWnd::OnWindowNew , geçerli belgenin başka bir görünümü içeren başka bir çerçeve oluşturmak üzere geçerli belgenin belge şablonu kullanarak bu güçlü özelliği uygular.
Etkin bir MDI alt penceresi yok ise, çoğu birden çok belge arabirim (MDI) penceresindeki menü komutları gibi komutu devre dışı bırakılır.
Özelleştirme bu komut işleyicisi önerilmez. Ek görünümler veya çerçeve pencereler oluşturan bir komut sağlamak istiyorsanız, muhtemelen kendi komut icat uzakta daha iyi olacaktır. CMDIFrameWnd::OnWindowNew kodu kopyala ve özel çerçeve ve görüntüleme sınıfları beğeninize için değiştirme.
CMDIFrameWnd , bir uygulama yardımcı işlev OnMDIWindowCmdiçin bu standart MDI komutu uygular. Bu yardımcı MDI Windows iletilerini komut Kimlikleri eşleştirir ve bu nedenle bir çok kod paylaşabilirsiniz.
Etkin bir MDI alt penceresi yok ise, çoğu MDI penceresinin menü komutları gibi komutu devre dışı bırakılır.
Bu komut işleyicisi özelleştirme önerilmez.
CMDIFrameWnd , bir uygulama yardımcı işlev OnMDIWindowCmdiçin bu standart MDI komutu uygular. Bu yardımcı MDI Windows iletilerini komut Kimlikleri eşleştirir ve bu nedenle bir çok kod paylaşabilirsiniz.
Etkin bir MDI alt penceresi yok ise, çoğu MDI penceresinin menü komutları gibi komutu devre dışı bırakılır.
Bu komut işleyicisi özelleştirme önerilmez.
Bu komut CMDIFrameWnd ID_WINDOW_CASCADEgibi uygulanmaktadır, farklı bir MDI pencereleri dışında işlem için kullanılır.
Uygulamanız için varsayılan kiremit yön seçmelisiniz. ID_WINDOW_TILE_HORZ ya da ID_WINDOW_TILE_VERT için pencere "Kiremit" menü öğesi kimliği değiştirerek bunu yapabilirsiniz.
Bu komut CMDIFrameWnd ID_WINDOW_CASCADEgibi uygulanmaktadır, farklı bir MDI pencereleri dışında işlem için kullanılır.
Uygulamanız için varsayılan kiremit yön seçmelisiniz. ID_WINDOW_TILE_HORZ ya da ID_WINDOW_TILE_VERT için pencere "Kiremit" menü öğesi kimliği değiştirerek bunu yapabilirsiniz.
CView CSplitterWnd uygulanması için bu komutu işler. Görünüm kırık pencere bir parçası ise, bu komutu CSplitterWnd::DoKeyboardSplituygulama işlevi için temsilci. Bu bölme ya da kırık pencere unsplit klavye kullanıcıları sağlayacak bir modda splitter yerleştirir.
Görünüm, bir ayırıcı değil eğer bu komutu devre dışı bırakılır.
Bu komut işleyicisi özelleştirme önerilmez.
Bir uygulamanın hakkında kutusu standart uygulaması yoktur. AppWizard tarafından oluşturulan varsayılan uygulama uygulama için bir özel iletişim sınıf oluşturma ve kullanma o-e doğru senin hakkında bir kutu olarak. AppWizard da bu komutu işleme ve iletişim kutusunu çağırır önemsiz komut işleyicisi yazacak.
Bu komut her zaman uygulayacak.
CWinApp::OnAppExit , uygulamanın ana penceresine wm_close ileti göndererek bu komutu işler. (Sorulması için kirli dosyaları vb.) uygulamasını kapatmadan standart CFrameWnd uygulama tarafından işlenir.
Özelleştirme bu komut işleyicisi önerilmez. CWinApp::SaveAllModified ya da CFrameWnd geçersiz kılma mantığı kapatılması önerilir.
Bu komutu uygulamak isterseniz, bu komutu kimliği kullanmak öneririz.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CWinApp::OnHelpIndex trivially CWinApp::WinHelp arayarak bu komut işleme.
Bu komut işleyicisi özelleştirme önerilmez.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CWinApp::OnHelpUsing trivially CWinApp::WinHelp arayarak bu komut işleme.
Bu komut işleyicisi özelleştirme önerilmez.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CWinApp::OnContextHelp bu komut Yardım modunda imleci ayarlayarak, kalıcı döngüsüne girmeden ve kullanıcının yardım almak için bir pencereyi seçmek bekleyen işler. Teknik Not 28 ' e mfc yardımcı uygulama hakkında daha fazla bilgi için lütfen.
Bu komut işleyicisi özelleştirme önerilmez.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
CWinApp::OnHelp , geçerli uygulama bağlamı için doğru yardım içeriği edinerek bu komutu işler. Bu basit F1 Yardım işleme, ileti kutularını vb. yardımcı olur. Teknik Not 28 ' e mfc Yardım uygulanması hakkında daha fazla bilgi için lütfen.
Bu komut işleyicisi özelleştirme önerilmez.
&Notnbsp; Bu, CWinAppiçin komponent-türetilmiş sınıf'ın mesajı göster bu işlevselliği etkinleştirmek için.
Bu komut genellikle CWinApp::OnHelpIndex için eşleştirilir.
Varsayılan Yardım ve Yardım dizini arasında bir ayrım istenirse farklı komut işleyici sağlanabilir.
CView CSplitterWnd uygulanması için bu komutu işler. Görünüm kırık pencere bir parçası ise, bu komutu CSplitterWnd::OnNextPaneCmduygulama işlevi için temsilci. Bu bölücü sonraki bölmeye etkin görünümü taşır.
Bu komut, görünüm, bir ayırıcı değil ya da orada hiçbir sonraki bölmeye gitmek için devre dışı bırakılır.
Bu komut işleyicisi özelleştirme önerilmez.
CView CSplitterWnd uygulanması için bu komutu işler. Görünüm kırık pencere bir parçası ise, bu komutu CSplitterWnd::OnNextPaneCmduygulama işlevi için temsilci. Bu bölücü önceki bölmeye etkin görünümü taşır.
Bu komut, görünüm, bir ayırıcı değil ya da orada hiçbir önceki bölmeye gitmek için devre dışı bırakılır.
Bu komut işleyicisi özelleştirme önerilmez.
Şu anda bu komutun standart uygulaması yoktur. Senin CViewiçin bunu uygulamak gerekir-türetilmiş sınıf-seçim yeni bir ole madde/nesne eklemek için.
Tüm ole istemci uygulamaları bu komutu uygulamak. AppWizard, ole seçeneğiyle, hangi sen--si olmak-e tamamlamak için görünümü sınıf OnInsertObject bir iskelet uygulaması oluşturur.
Mfc ole örnek görmek OCLIENT örnek için bu komut tam bir uygulama.
COleDocument sağlanan mfc uygulaması standart ole bağlantıları iletişim kutusunu kullanarak bu komutu işler. Bu iletişim uygulaması COleLinksDialog sınıfı aracılığıyla erişilir. Geçerli belge bağlantıları içermiyorsa, komutu devre dışı bırakılır.
Bu komut işleyicisi özelleştirme önerilmez.
COleDocument bu komut kimlik aralığı seçili öğeyi/nesnesini tarafından desteklenen fiilleri kullanır. Belirtilen ole madde ve nesne türü sıfır veya daha fazla özel fiiller destekleyebilir çünkü bu aralığı olmalıdır. Uygulamanızın menüsünde bir menü öğesi kimliği, ID_OLE_VERB_FIRSTolmalıdır. Programı çalıştırdığınızda, menü, uygun menü fiil açıklaması (ya birçok fiiller açılır menüsü) ile güncelleştirilir. AfxOleSetEditMenugüncelleştirme komutu UI işleyicisi bu komutla yapılır, ole menü yönetimi yapılmaktadır.
Her komut kimliği bu aralıktaki işlemek için hiçbir açık komut eylemcileri vardır. COleDocument::OnCmdMsg tüm komut kimliklerini bu aralıktaki tuzak, sıfır tabanlı fiil sayılara çevirmek onları ve sunucu ( COleClientItem::DoVerbkullanarak) o fiil için başlatma kılınır.
Özelleştirme veya bu komut kimlik aralığı diğer kullanımı tavsiye edilmez.
CFrameWnd , bu komutu ve güncelleştirme komutu UI işleyicisi araç çubuğunun görünür devlet geçiş için işler. Araç çerçevenin alt pencere AFX_IDW_TOOLBARalt pencere Kimliğine sahip olması gerekir. Komut işleyici aslında araç penceresinin görünürlüğünü değiştirir. CFrameWnd::RecalcLayout , çerçeve penceresi araç çubuğu ile yeni haliyle yeniden çizmek için kullanılır. Araç çubuğu görünür olduğunda, menü öğesini Güncelleştir komutu UI işleyicisi denetler.
Özelleştirme bu komut işleyicisi önerilmez. Ek araç çubukları eklemek isterseniz, Klonlama ve komut işleyici ve Güncelleştir komutu UI işleyicisi bu komutun değiştirmek isteyeceksiniz.
Farklı alt pencere kimliği (AFX_IDW_STATUS_BAR) kullanılan dışında bu komut CFrameWnd gibi ID_VIEW_TOOLBAR, uygulanmaktadı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