Differenze tra la programmazione con Windows Form e quella con MFC

Gli argomenti in Uso di un controllo utente di Windows Form in MFC descrivono il supporto MFC per Windows Form. Se non si ha familiarità con la programmazione .NET Framework o MFC, in questo argomento vengono fornite informazioni di base sulle differenze di programmazione tra i due.

Windows Form è la creazione di applicazioni Microsoft Windows in .NET Framework. Questo framework fornisce un set moderno, orientato agli oggetti e estendibile di classi che consentono di sviluppare applicazioni avanzate basate su Windows. Con Windows Form è possibile creare un'applicazione client avanzata che può accedere a un'ampia gamma di origini dati e fornire funzionalità di visualizzazione dei dati e modifica dei dati usando i controlli Windows Form.

Tuttavia, se si è abituati a MFC, è possibile usare per creare determinati tipi di applicazioni non ancora supportate in modo esplicito in Windows Form. Windows Form le applicazioni sono equivalenti alle applicazioni di dialogo MFC. Tuttavia, non forniscono l'infrastruttura per supportare direttamente altri tipi di applicazioni MFC, ad esempio il server di documenti OLE/contenitore, i documenti ActiveX, il supporto di Document/View per l'interfaccia a documento singolo (SDI), l'interfaccia a documenti multipli (MDI) e più interfacce di primo livello (MTI). È possibile scrivere la propria logica per creare queste applicazioni.

Per altre informazioni sulle applicazioni Windows Form, vedere Introduzione alle Windows Form.

La visualizzazione MFC o le funzionalità di routing dei documenti e comandi seguenti non hanno equivalenti in Windows Form:

  • Integrazione della shell

    MFC gestisce i comandi DDE (Dynamic Data Exchange) e gli argomenti della riga di comando usati dalla shell quando si fa clic con il pulsante destro del mouse su un documento e si selezionano tali verbi come Apri, Modifica o Stampa. Windows Form non ha alcuna integrazione della shell e non risponde ai verbi della shell.

  • Modelli di documento

    In MFC i modelli di documento associano una visualizzazione, contenuta in una finestra cornice (in modalità MDI, SDI o MTI) al documento aperto. Windows Form non ha un equivalente ai modelli di documento.

  • Documenti

    MFC registra i tipi di file di documento ed elabora il tipo di documento all'apertura di un documento dalla shell. Windows Form non dispone di alcun supporto per i documenti.

  • Stati del documento

    MFC mantiene gli stati dirty per il documento. Pertanto, quando si chiude l'applicazione, chiudere l'ultima visualizzazione che contiene l'applicazione o uscire da Windows, MFC richiede di salvare il documento. Windows Form non dispone di supporto equivalente.

  • Comandi

    MFC ha il concetto di comandi. La barra dei menu, la barra degli strumenti e il menu di scelta rapida possono richiamare tutti lo stesso comando, ad esempio Taglia e Copia. In Windows Form, i comandi sono eventi strettamente associati da un particolare elemento dell'interfaccia utente (ad esempio una voce di menu). È quindi necessario associare in modo esplicito tutti gli eventi di comando. È anche possibile gestire più eventi con un singolo gestore in Windows Form. Per altre informazioni, vedere Connessione ing di più eventi a un singolo gestore eventi in Windows Form.

  • Routing dei comandi

    Il routing dei comandi MFC consente alla visualizzazione attiva o al documento di elaborare i comandi. Poiché lo stesso comando ha spesso significati diversi per visualizzazioni diverse (ad esempio, Copia si comporta in modo diverso nella visualizzazione di modifica del testo rispetto a un editor di grafica), i comandi devono essere gestiti dalla visualizzazione attiva. Poiché Windows Form menu e barre degli strumenti non hanno una conoscenza intrinseca della visualizzazione attiva, non è possibile avere un gestore diverso per ogni tipo di visualizzazione per gli eventi MenuItem.Click senza scrivere codice interno aggiuntivo.

  • Meccanismo di aggiornamento dei comandi

    MFC ha un meccanismo di aggiornamento dei comandi. Pertanto, la visualizzazione o il documento attivo è responsabile dello stato degli elementi dell'interfaccia utente ,ad esempio l'abilitazione o la disabilitazione di una voce di menu o di un pulsante dello strumento e degli stati selezionati. Windows Form non ha un meccanismo di aggiornamento dei comandi equivalente.

Vedi anche

Uso di un controllo utente Windows Form in MFC