Postupy: Vytvoření uživatelského ovládacího prvku a hostitelské poskytová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 Třída CView a Třída CWinFormsView.
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: Vytvoření uživatelského ovládacího prvku a vložení tohoto prvku 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 MFC.
V poli Název zadejte MFC02 a změňte nastavení Řešení na možnost Přidat k řešeníKlikněte na tlačítko OK.
V Průvodci MFC aplikace 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 Povolit minimální sestavení na Ne (/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 Přidat, 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 spustí.
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 výchozí projekt.
V nabídce Sestavení klikněte na příkaz Sestavit řešení.
V nabídce Ladit klikněte na Spustit bez ladění.
Viz také
Další zdroje
Hostitelské poskytování uživatelského ovládacího prvku Windows Forms jako zobrazení MFC