Sdílet prostřednictvím


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

  1. 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).

  2. 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.

  3. Ve stdafx.h přidejte následující řádek:

    #using <System.Windows.Forms.dll>
    
  4. 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í.

  5. 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
    
  6. 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.

  7. 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()
    
  8. 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