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
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).
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.
Ve stdafx.h přidejte následující řádek:
#using <System.Windows.Forms.dll>
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í.
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
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.
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()
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