Relacje między obiektami MFC

Aby umieścić proces tworzenia dokumentu/widoku perspektywy, należy wziąć pod uwagę uruchomionych programów: dokument, okno ramek zawiera widok i widok skojarzony z dokumentem.

  • Dokument zachowuje listę widoków tego dokumentu i wskaźnik do szablonu dokumentu, który utworzył dokument.

  • Widok zachowuje wskaźnik do jego dokumentu i jest elementem podrzędnym ramki okna nadrzędnego.

  • Ramka okna dokumentu zachowuje wskaźnik do jej bieżącego widoku aktywnego.

  • Szablon dokumentu przechowuje listę otwartych dokumentów.

  • Aplikacja przechowuje listę jej szablonów dokumentów.

  • System Windows przechowuje informacje o wszystkich otwartych okien, więc to wysyłanie do nich wiadomości.

Te relacje są ustanawiane podczas tworzenia widoku/dokumentu.W poniższej tabeli przedstawiono, jak obiekty w uruchomionego programu dostępu do innych obiektów.Dowolny obiekt można uzyskać wskaźnik do obiektu aplikacji poprzez wywołanie funkcji globalnej AfxGetApp.

Uzyskanie dostępu do innych obiektów w aplikacji

Z obiektu

Jak uzyskać dostęp do innych obiektów

Dokument

Użycie GetFirstViewPosition i GetNextView uzyskać dostępu do listy widoku dokumentu.

Wywołanie GetDocTemplate pobrać szablonu dokumentu.

Widok

Wywołanie GetDocument Aby uzyskać dokument.

Wywołanie GetParentFrame się okno ramek.

Okno dokumentu ramki

Wywołanie GetActiveView się w bieżącym widoku.

Wywołanie GetActiveDocument Aby uzyskać dokument dołączony do bieżącego widoku.

Okna MDI ramki

Wywołanie MDIGetActive Aby uzyskać aktualnie aktywnych CMDIChildWnd.

Zazwyczaj okno ramki ma jeden widok, ale czasami, jak w windows rozdzielacza, tym samym oknie ramki zawiera wiele różnych widoków.Okno ramek zachowuje wskaźnik do aktualnie aktywnego widoku; wskaźnik jest aktualizowana każdorazowo w inny widok jest aktywna.

[!UWAGA]

Wskaźnik do okna głównego ramki jest przechowywana w m_pMainWnd zmienną obiektu application.Wywołanie OnFileNew w swoje zastępująca InitInstance funkcji składowej z CWinApp ustawia m_pMainWnd dla Ciebie.Jeśli nie zostanie wywołana OnFileNew, należy ustawić wartość zmiennej w InitInstance samodzielnie. (Aplikacje SDI COM składnika (serwer) może nie ustawić zmienną Jeśli w wierszu polecenia jest osadzanie.) Należy zauważyć, że m_pMainWnd jest teraz członkiem klasy CWinThread zamiast CWinApp.

Zobacz też

Koncepcje

Szablony dokumentów i proces tworzenia dokumentu/widoku

Tworzenie szablonu dokumentu

Tworzenie dokumentu/widoku

Tworzenie nowych dokumentów, okien i widoków