Aracılığıyla paylaş


Nasıl yapılır: İletişim Kutusunda Kullanıcı Denetimi Ve Konak Oluşturma

Bu makaledeki adımlarda, iletişim kutusu tabanlı (CDialog Sınıfı) Microsoft Foundation Sınıfları (MFC) projesi oluşturduğunuz varsayılır, ancak var olan bir MFC iletişim kutusuna Windows Forms denetimi desteği de ekleyebilirsiniz.

.NET kullanıcı denetimini oluşturmak için

  1. adlı WindowsFormsControlLibrary1bir Visual C# Windows Forms Denetim Kitaplığı projesi oluşturun.

    Dosya menüsünde Yeni'ye ve ardından Proje'ye tıklayın. Visual C# klasöründe Windows Forms Denetim Kitaplığı'nı seçin.

    Tamam'a WindowsFormsControlLibrary1 tıklayarak proje adını kabul edin.

    Varsayılan olarak, .NET denetiminin adı olur UserControl1.

  2. öğesine UserControl1alt denetimler ekleyin.

    Araç Kutusu'nda Tüm Windows Forms listesini açın. Düğme denetimini tasarım yüzeyine UserControl1 sürükleyin.

    Ayrıca textBox denetimi de ekleyin.

  3. Çözüm Gezgini'da, düzenlemek üzere açmak için UserControl1.Designer.cs çift tıklayın. TextBox ve Düğme bildirimlerini olarak private publicdeğiştirin.

  4. Projeyi derleyin.

    Yapı menüsünde Yapı Çözümü’ne tıklayın.

MFC konak uygulamasını oluşturmak için

  1. MFC Uygulaması projesi oluşturma.

    Dosya menüsünde Yeni'ye ve ardından Proje'ye tıklayın. Visual C++ klasöründe MFC Uygulaması'nı seçin.

    Ad kutusuna MFC01 yazın. Çözüm ayarını Çözüme Ekle olarak değiştirin. Tamam'a tıklayın.

    MFC Uygulama Sihirbazı'nda Uygulama Türü için İletişim kutusu tabanlı'yı seçin. Kalan varsayılan ayarları kabul edin ve Son'a tıklayın. Bu, MFC iletişim kutusu olan bir MFC uygulaması oluşturur.

  2. MFC iletişim kutusuna yer tutucu denetimi ekleyin.

    Görünüm menüsünde Kaynak Görünümü'ne tıklayın. Kaynak Görünümü'nde İletişim Kutusu klasörünü genişletin ve öğesine çift tıklayınIDD_MFC01_DIALOG. İletişim kutusu kaynağı Kaynak Düzenleyicisi'nde görünür.

    Araç Kutusu'nda İletişim Kutusu Düzenleyicisi listesini açın. Statik Metin denetimini iletişim kutusu kaynağına sürükleyin. Statik Metin denetimi, .NET Windows Forms denetimi için bir yer tutucu görevi görür. Windows Forms denetiminin yaklaşık boyutuna göre yeniden boyutlandırın.

    Özellikler penceresinde, Statik Metin denetiminin kimliğini olarak IDC_CTRL1 değiştirin ve TabStop özelliğini True olarak değiştirin.

  3. Projeyi Ortak Dil Çalışma Zamanı (CLR) desteği için yapılandırın.

    Çözüm Gezgini MFC01 proje düğümüne sağ tıklayın ve ardından Özellikler'e tıklayın.

    Özellik Sayfaları iletişim kutusundaki Yapılandırma Özellikleri'nin altında Genel'i seçin. Proje Varsayılanları bölümünde Ortak Dil Çalışma Zamanı desteği'ni Ortak Dil Çalışma Zamanı Desteği (/clr) olarak ayarlayın.

    Yapılandırma Özellikleri'nin altında C/C++ öğesini genişletin ve Genel düğümünü seçin. Hata Ayıklama Bilgileri Biçimini Program Veritabanı (/Zi) olarak ayarlayın.

    Kod Oluşturma düğümünü seçin. En Az Yeniden Derlemeyi Etkinleştir'i Hayır (/Gm-) olarak ayarlayın. Ayrıca Temel Çalışma Zamanı Denetimlerini Varsayılan olarak ayarlayın.

    Değişiklikleri uygulamak için Tamam'a tıklayın.

  4. .NET denetimine bir başvuru ekleyin.

    Çözüm Gezgini'de MFC01 proje düğümüne sağ tıklayın ve ardından Ekle, Başvurular'a tıklayın. Özellik Sayfasında Yeni Başvuru Ekle'ye tıklayın, WindowsFormsControlLibrary1'i seçin (Projeler sekmesinin altında) ve Tamam'a tıklayın. Bu, programın derlenecek şekilde /FU derleyici seçeneği biçiminde bir başvuru ekler. Ayrıca programın çalışması için \MFC01\ proje klasörüne WindowsFormsControlLibrary1.dll bir kopyasını yerleştirir.

  5. Stdafx.h dosyasında şu satırı bulun:

    #endif // _AFX_NO_AFXCMN_SUPPORT
    

    Üzerine şu satırları ekleyin:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  6. Yönetilen denetimi oluşturmak için kod ekleyin.

    İlk olarak yönetilen denetimi bildirin. MFC01Dlg.h'de, iletişim kutusu sınıfının bildirimine gidin ve kullanıcı denetimi için aşağıdaki gibi Korumalı kapsamda bir veri üyesi ekleyin.

    class CMFC01Dlg : public CDialog
    {
       // ...
       // Data member for the .NET User Control:
       CWinFormsControl<WindowsFormsControlLibrary1::UserControl1> m_ctrl1;
    

    Ardından yönetilen denetim için bir uygulama sağlayın. MFC01Dlg.cpp'de, MFC Uygulama sihirbazı tarafından oluşturulan iletişim kutusu geçersiz kılmasında CMFC01Dlg::DoDataExchange ( CAboutDlg::DoDataExchangeaynı dosyada yer alan değil), yönetilen denetimi oluşturmak ve statik yer tutucu IDC_CTRL1 ile ilişkilendirmek için aşağıdaki kodu ekleyin.

    void CMFC01Dlg::DoDataExchange(CDataExchange* pDX)
    {
       CDialog::DoDataExchange(pDX);
       DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1);
    }
    
  7. Projeyi derleyin ve çalıştırın.

    Çözüm Gezgini'da MFC01'e sağ tıklayın ve ardından Başlangıç Projesi Olarak Ayarla'ya tıklayın.

    Yapı menüsünde Yapı Çözümü’ne tıklayın.

    Hata Ayıkla menüsünde Hata ayıklamadan başlat'a tıklayın. MFC iletişim kutusunda Windows Forms denetimi görüntülenmelidir.

Ayrıca bkz.

MFC İletişim Kutusunda Windows Form Kullanıcı Denetimi Barındırma