Udostępnij przez


Tworzenie nowych dokumentów, okien i widoków

Poniższe ilustracje zawierają omówienie procesu tworzenia dokumentów, widoków i okien ramowych. Inne artykuły, które koncentrują się na uczestniczących obiektach, zawierają dalsze szczegóły.

Po zakończeniu tego procesu, współpracujące obiekty istnieją i przechowują wskaźniki do siebie nawzajem. Na poniższych ilustracjach przedstawiono sekwencję, w której są tworzone obiekty. Możesz podążać za sekwencją od jednego rysunku do drugiego.

Diagram przedstawiający sekwencję tworzenia dokumentu.
Sekwencja tworzenia dokumentu

Diagram przedstawiający sekwencję tworzenia okien ramowych.
Sekwencja przy tworzeniu okna ramowego

Diagram przedstawiający sekwencję tworzenia widoku.
Sekwencja w tworzeniu widoku

Aby uzyskać informacje o tym, jak struktura inicjuje nowy dokument, widok i obiekty okien ramowych, zobacz klasy CDocument, CView, CFrameWnd, CMDIFrameWnd i CMDIChildWnd w dokumentacji biblioteki MFC. Zapoznaj się również z Uwagą techniczną 22, która wyjaśnia dalsze procesy tworzenia i inicjowania w ramach omawiania standardowych poleceń frameworku dla pozycji Nowe i Otwórz w menu Plik.

Inicjalizacja własnych rozszerzeń do tych klas

Powyższe dane sugerują również punkty, w których można zastąpić funkcje składowe, aby zainicjować obiekty aplikacji. Przesłonięcie OnInitialUpdate w klasie widoku jest najlepszym miejscem do inicjalizacji widoku. OnInitialUpdate Wywołanie odbywa się natychmiast po utworzeniu okna ramki, a widok w oknie ramki jest dołączony do dokumentu. Jeśli na przykład twój widok jest widokiem przewijania (pochodzącym z CScrollView zamiast CView), powinieneś ustawić rozmiar widoku na podstawie rozmiaru dokumentu w przedefiniowaniu OnInitialUpdate. (Ten proces jest opisany w opisie klasy CScrollView). Można zastąpić funkcje składowe CDocumentOnNewDocument i OnOpenDocument w celu zapewnienia specyficznego dla aplikacji inicjowania dokumentu. Zazwyczaj należy zastąpić oba te elementy, ponieważ dokument można utworzyć na dwa sposoby.

W większości przypadków twoje przesłonięcia powinny wywoływać wersję klasy bazowej. Aby uzyskać więcej informacji, zobacz nazwane funkcje składowe klas CDocument, CView,CFrameWnd i CWinApp w dokumentacji biblioteki MFC.

Zobacz także

Szablony dokumentów i proces tworzenia dokumentu/widoku
Tworzenie szablonu dokumentu
Tworzenie dokumentu/widoku
Relacje między obiektami MFC