Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Nelle procedure riportate di seguito viene illustrato come creare un controllo utente .NET Framework in una libreria di classi di controlli (in particolare, in un progetto Libreria di controlli Windows) e quindi compilare il progetto in un assembly. Verrà quindi utilizzato il controllo da un'applicazione MFC che utilizza classi derivate da CView Class e CWinFormsView Class.
Per informazioni sulla creazione di un controllo utente Windows Form e una libreria di classi di controlli, vedere Procedura: creare controlli utente.
Nota: |
|---|
In alcuni casi, è possibile che i controlli Windows Form, ad esempio un controllo griglia di terze parti, presentino un comportamento inaffidabile se inseriti in un'applicazione MFC. Una soluzione consigliata consiste nell'inserire un controllo utente Windows Form nell'applicazione MFC e quindi inserire il controllo griglia di terze parti all'interno del controllo utente. |
Questa procedura presuppone che sia stato creato un progetto di libreria di controlli Windows Form denominato WindowsControlLibrary1, come nella procedura descritta in Procedura: creare il controllo utente e inserirlo in una finestra di dialogo.
Per creare l'applicazione host MFC
Creare un nuovo progetto Applicazione MFC.
Scegliere New dal menu File e quindi Progetto. Nella cartella Visual C++ selezionare Applicazione MFC.
Nella casella Nome immettere MFC02 e modificare l'impostazione relativa alla soluzione in Aggiungi a soluzione.Scegliere OK.
Nella Creazione guidata applicazione MFC accettare tutte le impostazioni predefinite e quindi scegliere Fine. Verrà così creata un'applicazione MFC con interfaccia a documenti multipli (MDI, Multiple Document Interface).
Configurare il progetto.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto MFC02 e quindi scegliere Proprietà dal menu di scelta rapida. Verrà visualizzata la finestra di dialogo Pagine delle proprietà.
Nel controllo di struttura Proprietà di configurazione della finestra di dialogo Pagine delle proprietà selezionare Generale e quindi nella sezione Impostazioni predefinite progetto impostare Supporto Common Language Runtime su Supporto Common Language Runtime (/clr). Scegliere OK.
Aggiungere un riferimento al controllo .NET.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto MFC02 e quindi scegliere Riferimenti. In Pagina delle proprietà scegliere Aggiungi nuovo riferimento, selezionare WindowsControlLibrary1 nella scheda Progetti e quindi scegliere OK. Viene così aggiunto un riferimento sotto forma di opzione /FU del compilatore per la compilazione del programma e viene copiato il file WindowsControlLibrary1.dll nella directory del progetto MFC02 per l'esecuzione del programma.
In stdafx.h individuare la seguente riga:
#endif // _AFX_NO_AFXCMN_SUPPORTAggiungere le seguenti righe sopra di essa:
#include <afxwinforms.h> // MFC Windows Forms supportModificare la classe di visualizzazione in modo da ereditare da CWinFormsView.
In MFC02View.h, sostituire CView con CWinFormsView, in modo da ottenere il codice seguente:
class CMFC02View : public CWinFormsView { };Se si desidera aggiungere ulteriori visualizzazioni all'applicazione MDI, è necessario chiamare CWinApp::AddDocTemplate per ogni visualizzazione creata.
Modificare il file MFC02View.cpp in modo da modificare CView in CWinFormsView nella mappa dei messaggi e nella macro IMPLEMENT_DYNCREATE e sostituire il costruttore vuoto esistente con il costruttore riportato di seguito:
IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView) CMFC02View::CMFC02View(): CWinFormsView(WindowsControlLibrary1::UserControl1::typeid) { } BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView) //leave existing body as is END_MESSAGE_MAP()Generare ed eseguire il progetto.
In Esplora soluzioni fare clic con il pulsante destro del mouse su MFC02 e quindi scegliere Imposta come progetto di avvio.
Scegliere Genera soluzione dal menu Genera.
Scegliere Avvia senza eseguire debug dal menu Debug.
Vedere anche
Altre risorse
Hosting di un controllo utente Windows Form come visualizzazione MFC
Nota: