Un ritratto l'architettura documento/visualizzazione
Documenti e visualizzazioni vengono associati in una tipica applicazione MFC.I dati vengono archiviati nel documento, ma la visualizzazione dispone di accesso autorizzato ai dati.La separazione di documento dalla visualizzazione consente l'archiviazione e la manutenzione dei dati dalla visualizzazione.
Accedere per documentare i dati dalla visualizzazione
La visualizzazione accede ai dati del documento o alla funzione di GetDocument , che restituisce un puntatore al documento, oppure facendo a-c di visualizzazione viene friend classe della classe del documento.La visualizzazione viene utilizzato il relativo accesso ai dati per ottenere i dati quando è pronto per disegnarlo o modificare in caso contrario.
Ad esempio, dalla funzione membro di OnDraw della visualizzazione, la visualizzazione utilizza GetDocument per ottenere un puntatore di documento.Utilizza quindi il puntatore per accedere a un membro dati di CString nel documento.La visualizzazione passa la stringa alla funzione di TextOut .Per visualizzare il codice per questo esempio, vedere Disegnare una visualizzazione.
Input utente alla visualizzazione
La visualizzazione potrebbe anche interpretare un clic del mouse all'interno di se stesso modo in cui la selezione o modifica dei dati.Analogamente potrebbe interpretare le sequenze di tasti quali l'immissione di dati o modifica.Se l'utente digita una stringa in una visualizzazione che gestisce il testo.La visualizzazione ottiene un puntatore al documento e utilizza il puntatore per passare i nuovi dati al documento, che lo archivia in una determinata struttura dei dati.
Aggiornare più visualizzazioni dello stesso documento
In un'applicazione con più visualizzazioni dello stesso documento come una finestra con separatore in un editor di testo al primo di visualizzazione passa i nuovi dati al documento.Chiamare la funzione membro di UpdateAllViews di documento, che indica tutte le visualizzazioni del documento di ridisegnato, riflettente i nuovi dati.Si sincronizza le visualizzazioni.