Relazioni tra gli oggetti MFC
Per aiutare inserire il processo di creazione documento/visualizzazione nella prospettiva, si consideri un programma in esecuzione: un documento, la finestra cornice utilizzata per contenere la visualizzazione e la visualizzazione associata al documento.
Un documento mantiene un elenco di visualizzazione del documento e di un puntatore al modello di documento che ha creato il documento.
Una visualizzazione mantiene un puntatore al documento ed è un elemento figlio della finestra cornice padre.
Una finestra cornice di documento consente un puntatore alla relativa visualizzazione attiva corrente.
Un modello di documento consente un elenco dei documenti aperti.
L'applicazione gestisce un elenco dei modelli di documento.
Le finestre tiene traccia di tutte le finestre aperte in modo da poter inviare messaggi a tali righe.
Queste relazioni definite durante la creazione documento/visualizzazione.Nella tabella seguente vengono indicati come gli oggetti in un programma in esecuzione possono accedere ad altri oggetti.Un oggetto può ottenere un puntatore all'oggetto applicazione chiamando la funzione globale AfxGetApp.
Accedere ad altri oggetti nell'applicazione
Dall'oggetto |
Come accedere ad altri oggetti |
---|---|
Documento |
Utilizzare GetFirstViewPosition e GetNextView per accedere all'elenco di visualizzazione del documento. Chiamata GetDocTemplate per ottenere il modello di documento. |
Visualizzazione |
Chiamata GetDocument per ottenere il documento. Chiamata GetParentFrame per ottenere la finestra cornice. |
Finestra cornice di documento |
Chiamata GetActiveView per ottenere la visualizzazione corrente. Chiamare GetActiveDocument per ottenere il documento associato alla visualizzazione corrente. |
Finestra cornice MDI |
Chiamare MDIGetActive per ottenere attualmente CMDIChildWndattivo. |
In genere, una finestra cornice dispone di una visualizzazione, ma talvolta, come nelle finestre con separatore, la stessa finestra cornice contiene più visualizzazioni.La finestra cornice è attualmente un puntatore alla visualizzazione attiva, il puntatore viene aggiornato ogni volta un'altra visualizzazione viene attivata.
[!NOTA]
Un puntatore alla finestra cornice principale è archiviato nella variabile membro di m_pMainWnd oggetto applicazione.Una chiamata a OnFileNew nell'override della funzione membro di InitInstance di CWinApp imposta m_pMainWnd automaticamente.Se non si chiama OnFileNew, è necessario impostare il valore della variabile in InitInstance manualmente.(Le applicazioni del componente COM SDI (server) non possono impostare la variabile se /Embedding è la riga di comando). Si noti che m_pMainWnd è ora un membro di classe CWinThread anziché CWinApp.
Vedere anche
Concetti
Modelli di documento e il processo di creazione documento/visualizzazione
Creazione di modelli di documento