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, vytvořit uživatelský ovládací prvek v knihovně tříd ovládacích prvků (konkrétně projekt knihovny ovládacích prvků systému Windows) a pak projekt zkompilovat do sestavení. Ovládací prvek lze pak použít z aplikace MFC, která používá třídy odvozené z CView Třídy a CWinFormsView Třídy.
Informace o tom, jak vytvořit model Windows Forms uživatelský ovládací prvek a vytvořit knihovnu tříd ovládacích prvků, naleznete v tématu Postupy: Vytváření uživatelských ovládacích prvků.
Poznámka:
V některých případech model Windows Forms ovládací prvky, jako je například ovládací prvek Mřížka třetí strany, se nemusí při hostované aplikaci MFC spolehlivě chovat. Doporučeným alternativním řešením je umístit model Windows Forms uživatelský ovládací prvek do aplikace MFC a umístit ovládací prvek Mřížka třetí strany do ovládacího prvku Uživatel.
Tento postup předpokládá, že jste vytvořili projekt knihovny ovládacích prvků model Windows Forms s názvem WindowsFormsControlLibrary1 podle postupu v části Postupy: Vytvoření uživatelského ovládacího prvku a hostitele v dialogovém okně.
Vytvoření hostitelské aplikace MFC
Vytvořte projekt aplikace MFC.
V nabídce Soubor vyberte Nový a potom klepněte na tlačítko Projekt. Ve složce Visual C++ vyberte aplikaci MFC.
Do pole Název zadejte a změňte
MFC02
nastavení Řešení na Přidat do řešení. Klikněte na OK.V Průvodci aplikací MFC přijměte všechny výchozí hodnoty a klepněte na tlačítko Dokončit. Tím se vytvoří aplikace MFC s více rozhraním dokumentů.
Nakonfigurujte projekt pro podporu modulu CLR (Common Language Runtime).
V Průzkumník řešení klikněte pravým tlačítkem myši na
MFC01
uzel projektu a v místní nabídce vyberte Vlastnosti. Zobrazí se dialogové okno Stránky vlastností.V části Vlastnosti konfigurace vyberte Obecné. V části Výchozí nastavení projektu nastavte podporu modulu Clr (Common Language Runtime) na podporu modulu Common Language Runtime (/clr).
V části Vlastnosti konfigurace rozbalte C/C++ a klikněte na uzel Obecné . Nastavte formát informací o ladění na programová databáze (/Zi).
Klikněte na uzel Generování kódu. Nastavte povolit minimální opětovné sestavení na hodnotu Ne (/Gm-). Nastavte také základní kontroly modulu runtime na výchozí.
Kliknutím na TLAČÍTKO OK použijete provedené změny.
Do souboru pch.h (stdafx.h v sadě Visual Studio 2017 a starší) přidejte následující řádek:
#using <System.Windows.Forms.dll>
Přidejte odkaz na ovládací prvek .NET.
V Průzkumník řešení klikněte pravým tlačítkem myši na
MFC02
uzel projektu a vyberte Přidat, Odkazy. Na stránce vlastností klepněte na tlačítko Přidat nový odkaz, vyberte WindowsFormsControlLibrary1 (pod kartou Projekty) a klepněte na tlačítko OK. Tím se přidá odkaz ve formě možnosti kompilátoru /FU , aby program zkompiloval; zkopíruje také WindowsFormsControlLibrary1.dll doMFC02
adresáře projektu, aby program běžel.V souboru stdafx.h najděte tento řádek:
#endif // _AFX_NO_AFXCMN_SUPPORT
Přidejte nad něj tyto řádky:
#include <afxwinforms.h> // MFC Windows Forms support
Upravte třídu zobrazení tak, aby dědila z CWinFormsView.
V prostředí MFC02View.h nahraďte CView CWinFormsView tak, aby se kód zobrazil takto:
class CMFC02View : public CWinFormsView { };
Pokud chcete do aplikace MDI přidat další zobrazení, budete muset pro každé vytvořené zobrazení volat CWinApp::AddDocTemplate .
Upravte soubor MFC02View.cpp tak, aby změnil CView na CWinFormsView v IMPLEMENT_DYNCREATE makru a mapování zpráv a nahraďte existující prázdný konstruktor konstruktorem zobrazeným 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ík řešení klikněte pravým tlačítkem myši na MFC02 a vyberte Nastavit jako spouštěcí projekt.
V nabídce Sestavení klikněte na Sestavit řešení.
V nabídce Ladění klepněte na tlačítko Start bez ladění.
Viz také
Hostitelské poskytování uživatelského ovládacího prvku Windows Forms jako zobrazení MFC