Beziehungen zwischen MFC-Objekten
So fügen Sie dem Dokument/Verwaltung Ansichts-Erstellungs Prozess in Sicht ausführen, ein Programm ein: ein Dokument, das Rahmenfenster verwendet, um die Ansicht zu integrieren und Ansicht dem Dokument zugeordnet ist.
Ein Dokument wird eine Liste der Sichten dieses Dokuments und des Zeigers auf die Dokumentvorlage, die das Dokument erstellt hat.
Eine Ansicht enthält einen Zeiger auf das Dokument, und ist ein untergeordnetes Element des übergeordneten Rahmenfensters.
Ein Dokumentrahmenfenster enthält einen Zeiger auf den aktuellen aktiven Ansicht.
Eine Dokumentvorlage verwaltet eine Liste der geöffneten Dokumente.
Die Anwendung führt eine Liste der Vorlagen.
Windows verwaltet alle geöffneten Fenster, sodass er ihnen Nachrichten zu senden.
Diese Beziehungen werden während der Dokument/Ansichts-Erstellung festgelegt.Die folgende Tabelle zeigt, wie Objekte in einem ausgeführten Programm andere Objekte zugreifen können.Jedes Objekt kann ein Zeiger auf das Anwendungsobjekt abgerufen, indem die globale Funktion AfxGetApp aufruft.
Um anderen Objekten in der Anwendung erhalten
Vom Objekt |
Wie andere Objekte zugreift |
---|---|
Document |
Verwenden Sie GetFirstViewPosition und GetNextView, um die Liste Ansicht des Dokuments zugreifen. Aufruf GetDocTemplate, um die Dokumentvorlage abzurufen. |
Ansicht |
Aufruf GetDocument, wenn das Dokument abgerufen. GetParentFrame Aufruf zum Abrufen des Rahmenfensters. |
Dokumentrahmenfenster |
Aufruf GetActiveView, um die aktuelle Ansicht zu erhalten. Rufen Sie GetActiveDocument auf, um das Dokument zu erhalten, das zur aktuellen Ansichtszustand zugeordnet ist. |
MDI-Rahmenfenster |
Rufen Sie MDIGetActive an, die derzeit aktive CMDIChildWnd abzurufen. |
Normalerweise weist ein Rahmenfenster eine Ansicht, aber manchmal in den Splitterfenstern, enthält das gleiche Rahmenfenster mehrere Ansichten.Das Rahmenfenster enthält einen Zeiger auf die gegenwärtig aktive Ansicht. Der Zeiger wird immer dann aktualisiert, wenn eine andere Sicht aktiviert ist.
Hinweis |
---|
Ein Zeiger auf das Hauptrahmenfenster wird in der m_pMainWnd-Membervariable des Anwendungsobjekts gespeichert.Ein Aufruf von OnFileNew in der Überschreibung der InitInstance-Memberfunktion von CWinApp legt diesen fest m_pMainWnd für Sie.Wenn Sie nicht OnFileNew aufrufen, müssen Sie den Wert der Variablen in InitInstance selbst festlegen.Anwendungen (möglicherweise SDI-COM-Komponente (Server) legen die Variable nicht fest, wenn /Embedding in der Befehlszeile ist.) Beachten Sie, dass m_pMainWnd jetzt ein Member der Klasse statt CWinThreadCWinApp ist. |
Siehe auch
Konzepte
Dokumentvorlagen und der Dokument/Ansichts-Erstellungs-Prozess