Sdílet prostřednictvím


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 dialogový projekt (CDialog Class) Microsoft Foundation Classes (MFC), ale můžete také přidat podporu pro model Windows Forms ovládací prvek do existujícího dialogového okna MFC.

Vytvoření uživatelského ovládacího prvku .NET

  1. Vytvořte projekt knihovny ovládacích prvků Visual C# model Windows Forms s názvem WindowsFormsControlLibrary1.

    V nabídce Soubor klepněte na tlačítko Nový a potom klepněte na tlačítko Projekt. Ve složce Visual C# vyberte model Windows Forms Knihovnu ovládacích prvků.

    WindowsFormsControlLibrary1 Kliknutím na OK přijměte název projektu.

    Ve výchozím nastavení bude UserControl1název ovládacího prvku .NET .

  2. Přidat podřízené ovládací prvky do UserControl1.

    V panelu nástrojů otevřete seznam Všechny model Windows Forms. Přetáhněte ovládací prvek Tlačítko na návrhovou UserControl1 plochu.

    Přidejte také ovládací prvek TextBox.

  3. V Průzkumník řešení poklikáním otevřete UserControl1.Designer.cs pro úpravy. Změňte deklarace TextBoxu a tlačítka z private na public.

  4. Sestavte projekt.

    V nabídce Sestavení klikněte na Sestavit řešení.

Vytvoření hostitelské aplikace MFC

  1. Vytvořte projekt aplikace MFC.

    V nabídce Soubor klepněte na tlačítko Nový a potom klepněte na tlačítko Projekt. Ve složce Visual C++ vyberte aplikaci MFC.

    Do pole Název zadejte MFC01. Změňte nastavení Řešení na Přidat do řešení. Klikněte na OK.

    V Průvodci aplikací MFC vyberte pro typ aplikace dialogové okno. Přijměte zbývající výchozí nastavení a klikněte na Dokončit. Tím se vytvoří aplikace MFC s dialogovým oknem MFC.

  2. Přidání zástupného ovládacího prvku do dialogového okna MFC

    V nabídce Zobrazení klikněte na Zobrazení zdrojů. V zobrazení zdrojů rozbalte složku Dialogové okno a poklikejte na IDD_MFC01_DIALOG. Prostředek dialogového okna se zobrazí v Editoru prostředků.

    V sadě nástrojů otevřete seznam Editor dialogů. Přetáhněte ovládací prvek Statický text do prostředku dialogového okna. Ovládací prvek Statický text bude sloužit jako zástupný symbol pro ovládací prvek .NET model Windows Forms. Změňte jeho velikost na přibližně velikost ovládacího prvku model Windows Forms.

    V okně Vlastnosti změňte ID ovládacího prvku Statický text na IDC_CTRL1 a změňte vlastnost TabStop na True.

  3. Nakonfigurujte projekt pro podporu modulu CLR (Common Language Runtime).

    V Průzkumník řešení klepněte pravým tlačítkem myši na uzel projektu MFC01 a potom klepněte na příkaz Vlastnosti.

    V dialogovém okně 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 Clr (/clr).

    V části Vlastnosti konfigurace rozbalte C/C++ a vyberte uzel Obecné . Nastavte formát informací o ladění na programová databáze (/Zi).

    Vyberte 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 změny použijete.

  4. Přidejte odkaz na ovládací prvek .NET.

    V Průzkumník řešení klepněte pravým tlačítkem myši na uzel projektu MFC01 a potom klepněte na tlačítko 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. Vloží také kopii WindowsFormsControlLibrary1.dll do složky projektu \MFC01\, aby program běžel.

  5. V stdafx.h najděte tento řádek:

    #endif // _AFX_NO_AFXCMN_SUPPORT
    

    Nad něj přidejte tyto řádky:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  6. Přidejte kód pro vytvoření spravovaného ovládacího prvku.

    Nejprve deklarujte spravovaný ovládací prvek. V prostředí MFC01Dlg.h přejděte na deklaraci třídy dialogového okna a přidejte datový člen pro uživatelský ovládací prvek v chráněném oboru následujícím způsobem.

    class CMFC01Dlg : public CDialog
    {
       // ...
       // Data member for the .NET User Control:
       CWinFormsControl<WindowsFormsControlLibrary1::UserControl1> m_ctrl1;
    

    Dále zadejte implementaci spravovaného ovládacího prvku. V MFC01Dlg.cpp v dialogovém okně přepsání CMFC01Dlg::DoDataExchange , které vygeneroval průvodce aplikací MFC (ne CAboutDlg::DoDataExchange, který je ve stejném souboru), přidejte následující kód pro vytvoření spravovaného ovládacího prvku a přidružte ho ke statickému držiteli místa IDC_CTRL1.

    void CMFC01Dlg::DoDataExchange(CDataExchange* pDX)
    {
       CDialog::DoDataExchange(pDX);
       DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1);
    }
    
  7. Sestavte a spusťte projekt.

    V Průzkumník řešení klepněte pravým tlačítkem myši MFC01 a potom klepněte na tlačítko 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í. Dialogové okno MFC by mělo zobrazit ovládací prvek model Windows Forms.

Viz také

Hostitelské poskytování uživatelského rozhraní Windows Form v dialogovém okně knihovny MFC