Udostępnij za pośrednictwem


Porady: tworzenie formantu użytkownika i hostowanie widoku MDI

Poniższe kroki pokazują jak utworzyć formant użytkownika .NET Framework, stać się autorem formantu użytkownika w bibliotece klas formantów (w szczególności Projekt Biblioteka formantów systemu Windows), a następnie skompilować projekt w zespół.Formanty mogą być bezpiecznie spożywane z aplikacji MFC, która używa klas pochodzących od Klasa CView i Klasa CWinFormsView.

Aby uzyskać informacje o tym, jak utworzyć formant użytkownika interfejsu Windows Forms i utworzyć bibliotekę klas formantów, zobacz Jak: Tworzenie formantów użytkowników.

[!UWAGA]

W niektórych przypadkach formanty interfejsu Windows Forms, takie jak formant siatki innych firm, mogą nie zachowywać się niezawodnie podczas hostowania w aplikacji MFC.Zalecaną praktyką jest umieszczenie kontrolki użytkownika Windows Forms w aplikacji MFC i umieszczenie kontrolki siatki innych firm w kontrolce użytkownika.

Ta procedura zakłada, że utworzony został projekt Biblioteka formantów Windows Forms o nazwie WindowsFormsControlLibrary1, zgodnie z procedurą określoną w Porady: tworzenie formantu użytkownika i hosta w oknie dialogowym.

Aby utworzyć aplikację hosta MFC

  1. Utwórz projekt aplikacji MFC.

    W menu Plik zaznacz Nowy, a następnie kliknij Projekt.W folderze Visual C++ wybierz pozycję Aplikacja MFC.

    W polu Nazwa wprowadź MFC02 i zmień ustawienie Rozwiązanie na Dodaj do rozwiązania.Kliknij przycisk OK.

    W Kreatorze aplikacji MFC zaakceptuj wszystkie ustawienia domyślne, a następnie kliknij przycisk Zakończ.Tworzy to aplikację MFC z interfejsem wielu dokumentów.

  2. Konfigurowanie projektu dla wsparcia Common Language Runtime (CLR).

    W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł projektu MFC01 i wybierz polecenie Właściwości z menu kontekstowego.Wyświetli się okno dialogowe Strony właściwości.

    W Właściwości konfiguracji, wybierz Ogólne.W sekcji Wartości domyślne projektu ustaw Obsługa środowiska uruchomieniowego języka wspólnego na Wsparcie CLR (/clr).

    W Właściwości konfiguracji, rozwiń C/C++ i kliknij węzeł Ogólne.Ustaw Format informacji debugowania dla Bazy danych programu (/Zi).

    Kliknij węzeł Generowanie kodu.Ustaw Włącz minimalną ponowną kompilację na Nr (/ Gm-).Ustaw też Podstawowe sprawdzenia środowiska uruchomieniowego na Domyślne.

    Kliknij przycisk OK, aby zastosować zmiany.

  3. W pliku stdafx.h należy dodać następujący wiersz:

    #using <System.Windows.Forms.dll>
    
  4. Dodaj odwołanie do formantu .NET.

    W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł projektu MFC02 i wybierz kolejno polecenia Dodaj > Odwołania.W oknie dialogowym Stronie właściwości kliknij przycisk Dodaj nowe odwołanie, zaznacz pozycję WindowsFormsControlLibrary1 (na karcie Projekty) i kliknij przycisk OK.Dodaje to odwołanie w formie opcji kompilatora /FU, tak aby program został skompilowany; kopiuje również WindowsFormsControlLibrary1.dll do katalogu projektu MFC02, aby program mógł zostać uruchomiony.

  5. W pliku stdafx.h znajdź ten wiersz:

    #endif // _AFX_NO_AFXCMN_SUPPORT 
    

    Nad nim dodaj następujące wiersze:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  6. Zmodyfikuj widok klasy, tak aby dziedziczył z obiektu CWinFormsView.

    W pliku MFC02View.h należy zastąpić obiekt CView obiektem CWinFormsView, tak że kod wygląda następująco:

    class CMFC02View : public CWinFormsView
    {
    };
    

    Jeśli chcesz dodać dodatkowe widoki do aplikacji MDI, trzeba będzie wywołać funkcję CWinApp::AddDocTemplate dla każdego widoku tworzonego.

  7. Zmodyfikuj plik MFC02View.cpp, aby zmienić element CView na CWinFormsView w makrze IMPLEMENT_DYNCREATE i na mapie komunikatów, i zastąp istniejący pusty konstruktor konstruktorem pokazanym 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()
    
  8. Skompiluj i uruchom projekt.

    W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pozycję MFC02 i wybierz polecenie Ustaw jako projekt startowy.

    W menu Kompilacja kliknij Kompiluj rozwiązanie.

    Na pasku menu kliknij Debugowanie, Rozpocznij bez debugowania.

Zobacz też

Inne zasoby

Hostowanie formantu użytkownika interfejsu Windows Forms jako widoku MFC