Postupy: Vytvoření uživatelského ovládacího prvku a vložení tohoto prvku do dialogového okna
Kroky v tomto článku předpokládají, že vytváříte na dialogu založený (Třída CDialog) Projekt knihovny MFC (Microsoft Foundation Classes), ale může také přidávat podporu ovládacích prvků model Windows Forms do existujícího MFC dialogového okna.
Chcete-li vytvořit uživatelský ovládací prvek rozhraní .NET
Vytvořit projekt Knihovna ovládacích prvků Visual C# v modelu Windows Forms s názvem WindowsFormsControlLibrary1.
V nabídce Soubor klikněte na příkaz Nový a potom na Projekt.Ve složce Visual C# vyberte možnost Knihovna ovládacích prvků formulářů Windows.
Přijměte název projektu WindowsFormsControlLibrary1 kliknutím na OK.
Ve výchozím nastavení bude mít ovládací prvek .NET název UserControl1.
Přidejte podřízené ovládací prvky UserControl1.
V Panelu nástrojů otevřete seznam Všechny modelu Windows Forms.Přetáhněte ovládací prvek Button na vykreslovací plochu prvku UserControl1.
Přidejte také ovládací prvek TextBox.
V Průzkumníku řešení poklepejte na UserControl1.Designer.cs k otevření ovládacího prvku pro úpravy.Změňte deklaraci textového pole a tlačítka z private na public.
Sestavte projekt.
V nabídce Sestavení klikněte na příkaz Sestavit řešení.
Chcete-li vytvořit hostitelskou aplikaci knihovny MFC
Vytvořte projekt aplikace knihovny MFC.
V nabídce Soubor klikněte na příkaz Nový a potom na Projekt.Ve složce Visual C++ vyberte Aplikace MFC.
Do pole Název zadejte MFC01.Změňte nastavení řešení na Přidat řešení.Klikněte na tlačítko OK.
V průvodci MFC aplikací jako typ aplikace vyberte možnost Založené na dialogu.Potvrďte zbývající výchozí nastavení a klepněte na tlačítko finština.Tím se vytvoří aplikace MFC, která má dialogové okno knihovny MFC.
Přidejte ovládací prvek pro obsazení místa do dialogové okna knihovna MFC.
V nabídce Zobrazit klikněte na Zobrazení zdrojů.V Zobrazení zdrojů rozbalte složku Dialogové okno a dvakrát klikněte na IDD_MFC01_DIALOG.Dialogové okno prostředků se zobrazí v Editoru prostředků.
V Panelu nástrojů otevřete seznam Editor dialogů .Přetáhněte ovládací prvek Statický text do dialogu prostředků.Ovládací prvek Statický text bude sloužit jako zástupný pro ovládací prvek modelu Windows Forms .NET.Změňte jeho velikost přibližně na velikost ovládacího prvku modelu Windows Forms.
V okně Vlastnosti, změňte ID ovládacího prvku Statický text na IDC_CTRL1 a změňte vlastnost TabStop na True.
Nakonfigurujte projekt tak, aby podporoval modul CLR (Common Language Runtime).
V Průzkumníku řešení klikněte pravým tlačítkem na projekt MFC01 a klikněte na Vlastnosti.
V dialogovém okně Stránky vlastností v části Vlastnosti konfigurace vyberte možnost Obecné.V části Výchozí nastavení projektu nastavte Common Language Runtime support na Common Language Runtime Support (/clr).
V části Vlastnosti konfigurace rozbalte C/C++ a klikněte na uzel Obecné.Nastavte Debug Information Format na Program Database (/Zi).
Vyberte uzel Vytváření kódu.Nastavte Povolit minimální sestavení na Ne (/Gm-).Nastavte také Basic Runtime Checks na Výchozí.
Změny potvrdíte klepnutím na tlačítko OK.
Přidejte odkaz na ovládací prvek .NET.
V Průzkumníku řešení klikněte pravým tlačítkem na uzel projektu MFC01 a klikněte na položky 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.Toto přidá odkaz ve formuláři možností kompilátoru /FU tak, že program se kompiluje.Také vloží kopii WindowsFormsControlLibrary1.dll do složky \MFC01\ projektu tak, aby bylo možné program spustit.
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
Přidáním kódu vytvořit spravovatelný ovládací prvek.
Nejprve deklarujte spravovatelný ovládací prvek.V MFC01Dlg.h, přejděte do deklarace dialogové třídy a přidejte datové členy ovládacího prvku do chráněného rozsahu.
class CMFC01Dlg : public CDialog { // ... // Data member for the .NET User Control: CWinFormsControl<WindowsFormsControlLibrary1::UserControl1> m_ctrl1;
Dále poskytněte implementaci spravovatelného ovládacího prvku.V MFC01Dlg.cpp, v dialogovém okně přepište CMFC01Dlg::DoDataExchange, která byla generována pomocí průvodce aplikací knihovny MFC (nikoli CAboutDlg::DoDataExchange, který je ve stejném souboru), přidejte následující kód k vytvoření spravovatelného ovládacího prvku a přidružte jej ke statickému ovládacímu prvku IDC_CTRL1.
void CMFC01Dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1); }
Sestavte a spusťte projekt.
V Průzkumníku řešení klikněte pravým tlačítkem myši na MFC01 a poté klikněte na možnost 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í.V dialogovém okně knihovně MFC by měl být zobrazen ovládací prvek modelu Windows Forms.
Viz také
Další zdroje
Hostitelské poskytování uživatelského rozhraní Windows Form v dialogovém okně knihovny MFC