Condividi tramite


Modelli di documenti e processo di creazione documento/visualizzazione

Per gestire il processo complesso di creazione di documenti con le relative visualizzazioni e finestre cornice associate, il framework usa due classi modello di documento: CSingleDocTemplate per applicazioni SDI e CMultiDocTemplate per le applicazioni MDI. Una classe CSingleDocTemplate può creare e archiviare un documento di un tipo alla volta. Una classe CMultiDocTemplate gestisce un elenco di più documenti aperti di un unico tipo.

Alcune applicazioni supportano più tipi di documenti. Ad esempio, un'applicazione può supportare documenti di testo e documenti grafici. In tale applicazione, quando l'utente sceglie il comando Nuovo dal menu File, viene visualizzata una finestra di dialogo con un elenco di tipi di documento possibili da aprire. Per ogni tipo di documento supportato, nell'applicazione viene utilizzato un oggetto modello di documento distinto. Di seguito viene illustrata la configurazione di un'applicazione MDI che supporta due tipi di documento e mostra diversi documenti aperti.

Diagram of an MDI application that has two document types.
Applicazione MDI con due tipi di documento

I modelli di documento vengono creati e gestiti dall'oggetto applicazione. Una delle attività principali eseguite durante la funzione InitInstance dell'applicazione consiste nel creare uno o più modelli di documento del tipo appropriato. Questa funzionalità è descritta in Creazione di modelli di documento. L'oggetto applicazione include un puntatore a ogni modello di documento nell'elenco dei modelli e fornisce un'interfaccia per l'aggiunta dei modelli di documento.

Se è necessario supportare due o più tipi di documento, è necessario aggiungere una chiamata aggiuntiva a AddDocTemplate per ogni tipo di documento.

Viene registrata un'icona per ogni modello di documento in base alla posizione nell'elenco dei modelli di documento dell'applicazione. L'ordine dei modelli di documento è determinato dall'ordine in cui sono stati aggiunti tramite le chiamate a AddDocTemplate. In MFC si presuppone che la prima risorsa Icona nell'applicazione sia l'icona dell'applicazione, la successiva risorsa Icona sia l'icona del primo documento e così via.

Ad esempio, un modello di documento è il terzo di tre per l'applicazione. Se esiste una risorsa Icona nell'applicazione in corrispondenza dell'indice 3, tale icona viene utilizzata per il modello di documento. In caso contrario, viene utilizzata come predefinita l'icona in corrispondenza dell'indice 0.

Vedi anche

Argomenti MFC generali
Creazione di modelli di documento
Creazione di documenti/visualizzazioni
Relazioni tra oggetti MFC
Creazione di nuovi documenti, finestre e visualizzazioni