Aracılığıyla paylaş


Nasıl yapılır: Windows Forms Denetimi'ne Yönlendiren Komut Ekleme

CWinFormsView komutları yönlendirir ve kullanıcı denetimine komut UI iletilerini MFC komutlarını (örneğin, çerçeve menüsü ögeleri ve araç çubuğu düğmeleri) işlemelerine izin vermek için günceller.

Kullanıcı denetimi, aşağıdaki örnekte de gösterildiği üzere, m_CmdSrc'deki komut kaynak nesnesine bir başvuru saklamak için ICommandTarget::Initialize'ı kullanır.ICommandTarget'ı kullanmak için, mfcmifc80.dll'ye bir başvuru eklemeniz gerekir.

CWinFormsView birkaç genel MFC görünüm bildirimlerini, bunları yönetilen kullanıcı denetimine ileterek işler.Bu bildirimler IView arabirimi'in OnInitialUpdate, OnUpdate ve OnActivateView işlevlerini içerir.

Bu konu daha önceden Nasıl yapılır: İletişim Kutusunda Kullanıcı Denetimi Ve Konak Oluşturma'u ve Nasıl yapılır: Konak MDI Görünümü ve Kullanıcı Denetim Oluşturma'u bitirdiğinizi var sayar.

MFC konak uygulaması oluşturmak için

  1. Nasıl yapılır: İletişim Kutusunda Kullanıcı Denetimi Ve Konak Oluşturma'ta oluşturduğunuz Windows Forms Denetim Kütüphanesi'ni açın.

  2. Çözüm Gezgini'nde proje düğümüne sağ tıklayıp Başvuru Ekle'yi seçtikten sonra Microsoft Visual Studio 10.0\VC\atlmfc\lib'i arayarak mfcmifc80.dll'ye başvuru ekleyin.

  3. UserControl1.Designer.cs'i açın ve aşağıdaki kullanım deyimini ekleyin:

    using Microsoft.VisualC.MFC;
    
  4. Ayrıca, UserControl1.Designer.cs'te şu satırı:

    partial class UserControl1
    

    şuna değiştirin:

    partial class UserControl1 : System.Windows.Forms.UserControl, ICommandTarget
    
  5. Bunu UserControl1 için sınıf tanımının ilk satırı olarak ekleyin:

    private ICommandSource m_CmdSrc;
    
  6. Aşağıdaki yöntem tanımlarını UserControl1'e ekleyin (MFC denetiminin kimliğini sonraki adımda oluşturacağız):

    public void Initialize (ICommandSource cmdSrc)
    {
       m_CmdSrc = cmdSrc;
       // need ID of control in MFC dialog and callback function 
       m_CmdSrc.AddCommandHandler(32771, new CommandHandler (singleMenuHandler));
    }
    
    private void singleMenuHandler (uint cmdUI)
    {
       // User command handler code
       System.Windows.Forms.MessageBox.Show("Custom menu option was clicked.");
    }
    
  7. Nasıl yapılır: Konak MDI Görünümü ve Kullanıcı Denetim Oluşturma'da oluşturduğunuz MFC uygulamasını açınız.

  8. singleMenuHandler'ı çağıracak bir menü seçeneği ekleyin.

    Kaynak Görünümü'ne gidin (CTRL+SHIFT+E), Menü klasörünü genişletin, ve ardından IDR_MFC02TYPE'a çift tıklayın.Bu, menü düzenleyicisini görüntüler.

    Görünüm menüsünün altında menü seçeneği ekleyin.Özellikler penceresinde menü seçeneğinin kimliğine dikkat edin.Dosyayı kaydedin.

    Çözüm Denetimi'nde, Resource.h dosyasını açın, yeni eklediğiniz menü seçeneğinin kimlik değerini kopyalayın ve bu değeri C# projesinin Initialize yönteminde m_CmdSrc.AddCommandHandler çağrısına ilk parametre olarak kopyalayın (gerekirse 32771'i değiştirerek).

  9. Projeyi olu?turup çaly?tyryn.

    Yapı menüsünde, Çözümü Derle'yi tıklatın.

    Hata Ayıklama menüsünde, Start without debugging'e (Hata ayıklamadan başla) tıklayın.

    Eklediğiniz menü seçeneğini seçin..ddl'deki yöntemin çağrıldığına dikkat edin.

Ayrıca bkz.

Başvuru

ICommandSource arabirimi

ICommandTarget arabirimi

CommandHandler temsilcisi

Diğer Kaynaklar

MFC Görünümü Olarak Windows Formları Kullanıcı Denetimi Barındırma