Postupy: Jak vytvořit uživatelský ovládací prvek a vložit jej do dialogového okna
Kroky v tomto tématu předpokládají, že vytváříte na dialogu založený (CDialog Class) Projekt knihovny MFC (MFC), 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 klikněte na příkaz Projekt. Ve složce Visual C# , vyberte Knihovna ovládacích prvků modelu Windows Forms.
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řidat 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ík řešení, poklepejte naUserControl1.Designer.cs k otevření ovládacího prvku pro úpravy. Změňte deklaraci TextBoxu a Buttonu z private na public.
Projekt sestavte.
V nabídce Build (Sestavit) klepněte na příkaz Build Solution (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 klikněte na příkaz Projekt. Ve složce Visual C++ vyberte Aplikace knihovny MFC.
Do pole Name zadejte MFC01. Změňte nastavení řešení na Přidat řešení. Klepněte na tlačítko OK.
V průvodci MFC aplikací, pro aplikační typ vyberte 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ů. In Zobrazení zdrojů rozbalte složku Dialogo a poklepejte 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ý textdo dialogu prostředků. Ovládací prvek Statický textbude 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ánce vlastností, pod Vlastnosti konfigurace, vyberte 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).
Nastavte Generování kódu uzlu. Nastavte Enable Minimal Rebuild na No (/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 projekt MFC01 a klikněte na Odkazy. V Stránce vlastností klikněte na Přidat nový odkaz, vyberte WindowsFormsControlLibrary1 (v záložce Projekty) a klikněte na tlačítko OK. Toto přidá odkaz ve formuláři možností kompilátoru /FU tak, že program bude komponovatelný. 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 Nastavit jako projekt pro 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í. V dialogovém okně knihovně MFC by měl být zobrazen ovládací prvek modelu Windows Forms.
Viz také
Další zdroje
Hostování uživatelského rozhraní modelu Windows Form v dialogovém okně knihovny MFC