Jak: Tworzenie formantu użytkownika i hosta w oknie dialogowym
W tym temacie przyjęto tworzona na okno dialogowe (Klasa CDialog) projektu Microsoft Foundation Classes (MFC), ale można również dodać obsługę formant Windows Forms do istniejących okno dialogowe MFC.
Aby utworzyć.NET user kontroli
Tworzenie projektu Visual C# Windows Forms Biblioteka formantów o nazwie WindowsFormsControlLibrary1.
Na pliku menu, kliknij Nowy i kliknij przycisk Projekt.W Visual C# folder, wybierz opcję Biblioteki formantu Windows Forms.
Zaakceptuj WindowsFormsControlLibrary1 nazwę projektu, klikając OK.
Domyślnie nazwa.NET formant będzie UserControl1.
Dodawanie formantów podrzędnych z UserControl1.
W Przybornik, otwórz Wszystkich Windows Forms listy.Przeciągnij przycisk kontroli do UserControl1 powierzchni projektu.
Również dodać pole tekstowe kontroli.
W Solution Explorer, kliknij dwukrotnie UserControl1.Designer.cs , aby otworzyć do edycji.Zmienić deklaracje pola tekstowego i przycisku z private do public.
Skompiluj projekt.
Na budować menu, kliknij Roztwór budować.
Aby utworzyć aplikację hosta MFC
Tworzenie projektu aplikacji MFC.
Na pliku menu, kliknij Nowy i kliknij przycisk Projekt.W Visual C++ folder, wybierz opcję Aplikacja MFC.
W Nazwa wpisz MFC01.Zmień ustawienie roztwór do Dodaj rozwiązanie.Click OK.
W Kreatora aplikacji MFC, typ aplikacji, zaznacz okno dialogowe oparte.Zaakceptuj pozostałe domyślne ustawienia i kliknij przycisk Zakończ.Spowoduje to utworzenie aplikacji MFC, która MFC okna dialogowego.
Dodawanie formantu zastępczego do okna dialogowego MFC.
Na widoku menu, kliknij Widok zasobów.W Widok zasobów, rozwiń węzeł okno dialogowe folder i kliknij dwukrotnie IDD_MFC01_DIALOG.Zasób okno dialogowe pojawia się w Zasobów edytora.
W Przybornik, otwórz Okno dialogowe Edytor listy.Przeciągnij Tekst statyczny sterowania do okna dialogowego zasobu.Tekst statyczny kontroli będzie służyć jako symbol zastępczy.NET Windows Forms kontroli.Zmień rozmiar około rozmiar formantu Windows Forms.
W Właściwości okna, zmiana ID z Tekst statyczny kontroli do IDC_CTRL1 i zmienić TabStop właściwość, aby True.
Konfigurowanie projektu dla wsparcia wspólnych Language Runtime (CLR).
W Solution Explorer, kliknij prawym przyciskiem myszy węzeł projektu MFC01, a następnie kliknij przycisk Właściwości.
W Stron właściwości dialogowe, pod Właściwości konfiguracji, wybierz opcję Ogólne.W Project domyślnie sekcji, ustaw plików wykonywalnych języka wspólnego wsparcia do wsparcia wspólnego języka Runtime (/ clr).
W obszarze Właściwości konfiguracji, rozwiń węzeł C i C++ i wybierz Ogólne węzła.Ustaw Format informacji debugowania do Program bazy danych (/Zi).
Wybierz Generowanie kodu węzła.Ustaw odbudować Włącz minimalne do nr (/ Gm-).Również ustawić Podstawowe sprawdza Runtime do domyślne.
Kliknij OK , aby zastosować zmiany.
Dodaj odwołanie do.Formant netto.
W Solution Explorer, kliknij prawym przyciskiem myszy węzeł projektu MFC01, a następnie kliknij przycisk odniesienia.Na Stronę właściwości, kliknij Dodać nowe odwołanie, wybierz opcję WindowsFormsControlLibrary1 (pod projektów kartę) i kliknij przycisk OK.Odwołanie to dodaje w postaci /FU kompilatora opcję tak, aby program zostanie skompilowany.Również umieszcza kopię WindowsFormsControlLibrary1.dll w folderze projektu \MFC01\ tak, że program będzie działał.
W Stdafx.h Znajdź ten wiersz:
#endif // _AFX_NO_AFXCMN_SUPPORT
Powyżej, należy dodać te wiersze:
#include <afxwinforms.h> // MFC Windows Forms support
Dodać kod zarządzany kontroli.
Najpierw należy zadeklarować zarządzanych kontroli.W MFC01Dlg.h przejdź do deklaracji klasy okno dialogowe i dodać element członkowski danych dla formantu użytkownika w zakresie chronionym w następujący sposób.
class CMFC01Dlg : public CDialog { // ... // Data member for the .NET User Control: CWinFormsControl<WindowsFormsControlLibrary1::UserControl1> m_ctrl1;
Następnie zapewniać implementację zarządzanych kontroli.W MFC01Dlg.cpp, w oknie dialogowym Zastąp z CMFC01Dlg::DoDataExchange który został wygenerowany przez Kreatora aplikacji MFC (nie CAboutDlg::DoDataExchange, który jest w tym samym pliku), Dodaj następujący kod do tworzenia zarządzanych kontroli i skojarzyć go z posiadaczem miejsce statycznej IDC_CTRL1.
void CMFC01Dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1); }
Tworzenie i uruchamianie projektu.
W Solution Explorer, kliknij prawym przyciskiem myszy MFC01 i kliknij przycisk jako projekt uruchamiania.
Na budować menu, kliknij Roztwór budować.
Na debugowania menu, kliknij uruchomić bez debugowania.Formant Windows Forms powinien być wyświetlany w oknie dialogowym MFC.
Zobacz też
Inne zasoby
Hosting sterowania Windows formularza użytkownika w oknie dialogowym MFC