Sdílet prostřednictvím


Postupy: Vytvoření uživatelského ovládacího prvku a hostování zobrazení MDI

Následující kroky ukazují, jak vytvořit uživatelský ovládací prvek rozhraní .NET Framework, jak vytvořit ovládací prvek v knihovně tříd ovládacího prvku (konkrétně v projektu Knihovny ovládacích prvků systému Windows) a poté zkompilovat projekt do sestavení. Ovládací prvek může být potom používán z aplikace knihovny MFC, která používá třídy odvozené z CView Class a CWinFormsView Class.

Informace o tom, jak vytvořit uživatelský ovládací prvek rozhraní Windows Forms a jak vytvořit knihovnu tříd ovládacího prvku, naleznete v tématu Postupy: Vytváření uživatelských ovládacích prvků.

Poznámka

V některých případech se ovládací prvky modelu Windows Forms, jako je například ovládací prvek mřížky jiného výrobce, pravděpodobně nebudou chovat spolehlivě, pokud jsou hostovány v aplikaci knihovny MFC. Doporučené řešení je umístit uživatelský ovládací prvek rozhraní Windows Forms do aplikace knihovny MFC a umístit ovládací prvek mřížky jiného výrobce do uživatelského ovládacího prvku.

Tato procedura předpokládá, že jste vytvořili knihovnu projektu ovládacích prvků modelu Windows Forms s názvem WindowsFormsControlLibrary1, podle procedury uvedené v Postupy: Jak vytvořit uživatelský ovládací prvek a vložit jej do dialogového okna.

Chcete-li vytvořit hostitelskou aplikaci knihovny MFC

  1. Vytvořte projekt aplikace knihovny MFC.

    V nabídce Soubor vyberte Nový a potom klikněte na Projekt. Ve složce Visual C++ vyberte Aplikace knihovny MFC.

    V poli Název zadejte MFC02 a změňte nastavení Řešení na Přidat k řešení. Klepněte na tlačítko OK.

    V Průvodci aplikace knihovny MFC přijměte všechny výchozí hodnoty a klikněte na tlačítko Dokončit. Tím se vytvoří aplikace knihovny MFC s rozhraním více dokumentů (MDI).

  2. Nakonfigurujte projekt tak, aby podporoval modul CLR (Common Language Runtime).

    V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel projektu MFC01 a vyberte Vlastnosti z kontextové nabídky. Zobrazí se dialogové okno Stránky vlastností.

    V části Vlastnosti konfiguraci vyberte Obecné. V části Výchozí nastavení projektu nastavte Podpora Common Language Runtime na Podpora Common Language Runtime (/clr).

    V části Vlastnosti konfigurace rozbalte C/C++ a klikněte na uzel Obecná. Nastavte Debug Information Format na Program Database (/Zi).

    Klikněte na uzel Generování kódu. Nastavte Enable Minimal Rebuild na No (/Gm-). Nastavte také Basic Runtime Checks na Výchozí.

    Chcete-li aplikovat provedené změny, klikněte na tlačítko OK.

  3. Ve stdafx.h přidejte následující řádek:

    #using <System.Windows.Forms.dll>
    
  4. Přidejte odkaz na ovládací prvek .NET.

    V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel projektu MFC02 a vyberte Odkazy. Na Stránce vlastností klikněte na Přidat nový odkaz, vyberte WindowsFormsControlLibrary1 (na kartě Projekty) a klikněte na tlačítko OK. To přidá odkaz ve formuláři možnosti kompilátoru /FU takže program bude kompilován; také zkopíruje WindowsFormsControlLibrary1.dll do adresáře projektu MFC02 takže se program spoustí.

  5. Ve stdafx.h vyhledejte tento řádek:

    #endif // _AFX_NO_AFXCMN_SUPPORT 
    

    Přidejte tyto řádky nad něj:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  6. Upravte zobrazení třídy tak, aby dědila z CWinFormsView.

    V MFC02View.h nahraďte CView za CWinFormsView, takže kód bude vypadat takto:

    class CMFC02View : public CWinFormsView
    {
    };
    

    Pokud chcete přidat další zobrazení do vaší aplikace MDI, budete muset volat CWinApp::AddDocTemplate pro každé zobrazení, které vytvoříte.

  7. Upravte soubor MFC02View.cpp tak, že změníte CView na CWinFormsView v makru IMPLEMENT_DYNCREATE a v mapě zpráv a nahradíte stávající prázdný konstruktor za konstruktor uvedený níže:

    IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView)
    
    CMFC02View::CMFC02View(): CWinFormsView(WindowsFormsControlLibrary1::UserControl1::typeid) 
    {
    }
    BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView)
    //leave existing body as is
    END_MESSAGE_MAP()
    
  8. Sestavte a spusťte projekt.

    V Průzkumníku řešení klikněte pravým tlačítkem myši na MFC02 a vyberte Nastavit jako projekt při spuštění.

    V nabídce Build (Sestavit) klepněte na příkaz Build Solution (Sestavit řešení).

    V nabídce Ladit klikněte na Spustit bez ladění.

Viz také

Další zdroje

Hostování uživatelského ovládacího prvku modelu Windows Forms jako zobrazení knihovny MFC