Jak: Tworzenie widoku MDI kontrola użytkownika i hosta
Poniższe kroki pokazują jak utworzyć.NET Framework kontrola użytkownika, autor kontrola użytkownika w bibliotece klasy formantu (w szczególności projekt Biblioteka formantów systemu Windows) i następnie Skompiluj projekt w zespół.Formant można następnie zużywanych z aplikacji MFC, która używa klasy pochodzące od Klasa CView i Klasa CWinFormsView.
Aby uzyskać informacje na temat tworzenia formantu użytkownika Windows Forms i autor Biblioteka klas kontroli, zobacz jak: mechanizmy użytkownika.
[!UWAGA]
W niektórych przypadkach Windows Forms, takie jak formant siatki strony trzeciej, może nie zachowanie formantów niezawodnie podczas w aplikacji MFC.Zalecaną praktyką jest umieszczenie kontrolki użytkownika Windows Forms w aplikacji MFC i umieścić formant siatki strony trzeciej, wewnątrz formantu użytkownika.
W tej procedurze założono, że utworzony projekt Biblioteka formantów Windows Forms o nazwie WindowsFormsControlLibrary1, według procedury określonej w Jak: Tworzenie formantu użytkownika i hosta w oknie dialogowym.
Aby utworzyć aplikację hosta MFC
Tworzenie projektu aplikacji MFC.
Na pliku menu wybierz Nowy, a następnie kliknij przycisk Projekt.W Visual C++ folder, wybierz opcję Aplikacja MFC.
W Nazwa wprowadź MFC02 i zmienić roztwór ustawienie Dodaj rozwiązanie.Click OK.
W Kreatora aplikacji MFC, Zaakceptuj wszystkie ustawienia domyślne, a następnie kliknij przycisk Zakończ.Spowoduje to utworzenie aplikacji MFC z interfejsu wielu dokumentów.
Konfigurowanie projektu dla wsparcia wspólnych Language Runtime (CLR).
W Solution Explorer, kliknij prawym przyciskiem myszy MFC01 węzła projektu i wybierz Właściwości z menu kontekstowego.Stron właściwości pojawi się okno dialogowe.
W obszarze Właściwości konfiguracji, wybierz opcję Ogólne.W obszarze 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 kliknij przycisk Ogólne węzła.Ustaw Format informacji debugowania do Program bazy danych (/Zi).
Kliknij 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.
W stdafx.h należy dodać następujący wiersz:
#using <System.Windows.Forms.dll>
Dodaj odwołanie do.Formant netto.
W Solution Explorer, kliknij prawym przyciskiem myszy MFC02 węzeł projekt i zaznacz odniesienia.W Stronę właściwości, kliknij Dodać nowe odwołanie, zaznacz WindowsFormsControlLibrary1 (pod projektów kartę) i kliknij przycisk OK.Spowoduje to dodanie odwołanie w formie /FU kompilatora opcję tak, aby skompilować, będzie program; kopiuje również WindowsFormsControlLibrary1.dll do MFC02 projektu katalogu, tak aby program zostanie uruchomiony.
W stdafx.h Znajdź ten wiersz:
#endif // _AFX_NO_AFXCMN_SUPPORT
Dodaj te wiersze powyżej:
#include <afxwinforms.h> // MFC Windows Forms support
Modyfikować klasy widoku, tak aby dziedziczy z CWinFormsView.
W MFC02View.h, należy zastąpić CView z CWinFormsView tak, że kod wygląda następująco:
class CMFC02View : public CWinFormsView { };
Jeśli chcesz dodać dodatkowe widoki do aplikacji MDI, będzie trzeba wywołać CWinApp::AddDocTemplate dla każdego widoku można utworzyć.
Modyfikowanie pliku MFC02View.cpp zmienić CView CWinFormsView IMPLEMENT_DYNCREATE mapie makro i wiadomości i zastąpić istniejący pustego konstruktora konstruktora przedstawione poniżej:
IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView) CMFC02View::CMFC02View(): CWinFormsView(WindowsFormsControlLibrary1::UserControl1::typeid) { } BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView) //leave existing body as is END_MESSAGE_MAP()
Tworzenie i uruchamianie projektu.
W Solution Explorer, kliknij prawym przyciskiem myszy MFC02 i wybierz jako projekt uruchamiania.
Na budować menu, kliknij Roztwór budować.
Na debugowania menu, kliknij uruchomić bez debugowania.