Condividi tramite


Tipi di documenti multipli, visualizzazioni e finestre cornice

La relazione standard in un documento, il punto di vista e la finestra cornice viene descritta in Creazione documento/visualizzazione. Molte applicazioni supportano un tipo di documento singolo (ma dei documenti aperti più di tale tipo) con un'unica visualizzazione nel documento e solo su una finestra cornice di documento. Alcune applicazioni possono avere la necessità di modificare uno o più delle impostazioni predefinite.

Scegliere l'argomento su cui visualizzare maggiori informazioni

  • Tipi di documenti multipli

  • Visualizzazioni multiple

  • Le finestre più

  • Finestre con separatore

Tipi di documenti multipli

La Creazione guidata applicazione MFC crea una classe del documento singolo automaticamente. In alcuni casi, tuttavia, è possibile richiedere di supportare più di un tipo di documento. Ad esempio, può essere necessario che l'applicazione del foglio di lavoro e creare i documenti. Ogni tipo di documento è rappresentato dalla rispettiva classe document e probabilmente dalla rispettiva classe di visualizzazione anche. Quando l'utente sceglie il comando nuovo file, il framework viene visualizzata una finestra di dialogo in cui sono elencati i tipi di documento supportati. Crea quindi un documento del tipo scelto dall'utente. Ogni tipo di documento viene gestito dal proprio oggetto modello di documento.

Per creare le classi aggiuntive di documento, vedere Aggiunta di un classe. Scegliere CDocument come tipo della classe di derivazione e immettere le informazioni richieste di documento. Quindi implementare i dati della nuova classe.

Lasciare il framework conoscere la classe aggiuntiva di documento, è necessario aggiungere una seconda chiamata a AddDocTemplate in override di InitInstance dell'applicazione. Per ulteriori informazioni, vedere Modelli di documento.

Visualizzazioni multiple

Molti documenti richiedono una sola visualizzazione, ma è possibile supportare più di un punto di vista di un singolo documento. Necessarie per implementare le visualizzazioni multiple, un oggetto document gestisce un elenco dei punti di vista, fornisce funzioni membro per l'aggiunta e la rimozione delle visualizzazioni e fornisce la funzione membro di UpdateAllViews per lasciare più visualizzazioni sa quando i dati del documento sono stati modificati.

I MFC supporta tre interfacce utente comuni che richiedono le visualizzazioni multiple nello stesso documento. Questi modelli sono:

  • Oggetti visualizzazione della stessa classe, ciascuno in una finestra cornice separata del documento MDI.

    È possibile supportare creare una seconda finestra cornice in un documento. L'utente potrebbe scegliere un comando nuova finestra aprire un secondo frame con una visualizzazione dello stesso documento e quindi utilizzare i due frame per visualizzare contemporaneamente diverse parti del documento. Il framework supporta il comando nuova finestra nella finestra per le applicazioni MDI duplicando la finestra cornice e la visualizzazione iniziali associate al documento.

  • Gli oggetti visualizzazione della stessa classe nello stesso documento nella finestra cornice.

    Finestre con separatore dividono lo spazio di visualizzazione di una finestra di documento in visualizzazioni separate multipli del documento. Il framework crea gli oggetti visualizzazione più dalla stessa classe di visualizzazione. Per ulteriori informazioni, vedere Finestre con separatore.

  • Oggetti visualizzazione delle classi diverse in una sola finestra cornice.

    In questo modello, una variazione della finestra con separatore, visualizzazioni multiple condivide una sola finestra cornice. Le visualizzazioni sono generate dalle classi diverse, ogni visualizzazione che fornisce un modo diverso di visualizzare lo stesso documento. Ad esempio, una visualizzazione può visualizzare un documento l'elaborazione di testi in modo normale mentre l'altra visualizzazione mostra la modalità struttura. Una barra di divisione consente all'utente di adattare le dimensioni relative delle visualizzazioni.

Nella figura, suddivisa in parti A, b e c, mostra che i tre modelli dell'interfaccia utente nello stesso ordine in cui si sopra riportato.

Interfacce utente a più visualizzazioni

Interfacce utente con più visualizzazioni

Il framework fornirà questi modelli implementando il comando nuova finestra e immettendo la classe CSplitterWnd, come illustrato in Finestre con separatore. È possibile implementare altri modelli utilizzando questi come punto di partenza. Per i programmi di esempio che illustrano le configurazioni diverse delle visualizzazioni, le finestre e dei contenitori barra di divisione, vedere Esempi di MFC.

Per ulteriori informazioni su UpdateAllViews, vedere la classe CViewin riferimenti alla libreria MFC e in Esempio scribble.

Le finestre più

È possibile utilizzare il comando nuova finestra nella finestra per le applicazioni MDI creare una seconda finestra cornice nello stesso documento. Per ulteriori informazioni, vedere il primo modello nella figura Interfacce utente a più visualizzazione.

Finestre con separatore

In una finestra con separatore, la finestra viene, oppure può essere, divisa in due o più riquadri scorrevoli. Una barra di divisione (o "casella suddivisa") nella struttura della finestra accanto alle barre di scorrimento consente all'utente di modificare le dimensioni relative dei riquadri. Ciascun riquadro è una visualizzazione nello stesso documento. Nei contenitori di divisione "dynamic", le visualizzazioni della stessa classe, come illustrato nella parte B la figura Interfacce utente a più visualizzazione. Nei contenitori di divisione "static", le visualizzazioni possono essere delle classi diverse. Finestre con separatore di entrambi i tipi sono supportate dalla classe CSplitterWnd.

Le finestre con separatore dinamico, le visualizzazioni della stessa classe, consentono all'utente dividere una finestra in riquadri più a molti e quindi scorrere i riquadri diversi per visualizzare le parti diverse del documento. L'utente può anche unsplit la finestra rimuovere le visualizzazioni aggiuntive. Finestre con separatore aggiunte a Esempio scribble sono un esempio. Tale argomento viene illustrata la tecnica per creare finestre con separatore dinamico. Una finestra con separatore dinamico viene visualizzata nella parte B la figura Interfacce utente a più visualizzazione.

Finestre con separatore statico, con visualizzazioni delle classi diverse, iniziano con la finestra divisa in più riquadri, ognuna con uno scopo diverso. Ad esempio, nell'editor di immagini bitmap di Visual C++, la finestra dell'immagine seguente vengono mostrati due riquadri affiancati. Il riquadro di sinistra visualizzare un'immagine a naturale della bitmap. Il riquadro di destra di visualizzare un'immagine ingrandita o ingrandita degli stessi bitmap. I riquadri sono "separati da una barra di divisione" che l'utente può trascinare per modificare le dimensioni relative dei riquadri. Una finestra con separatore statico viene visualizzata nella parte C la figura Interfacce utente a più visualizzazione.

Per ulteriori informazioni, vedere la classe CSplitterWndin riferimenti alla libreria MFC e in Esempi di MFC.

Vedere anche

Concetti

Architettura documento/visualizzazione