Szablony dokumentów i proces tworzenia dokumentu/widoku

Aby zarządzać złożonym procesem tworzenia dokumentów za pomocą skojarzonych widoków i okien ramowych, platforma używa dwóch klas szablonów dokumentów: CSingleDocTemplate dla aplikacji SDI i CMultiDocTemplate dla aplikacji MDI. Obiekt CSingleDocTemplate może jednocześnie tworzyć i przechowywać jeden dokument jednego typu. Obiekt CMultiDocTemplate przechowuje listę wielu otwartych dokumentów jednego typu.

Niektóre aplikacje obsługują wiele typów dokumentów. Na przykład aplikacja może obsługiwać dokumenty tekstowe i dokumenty graficzne. W takiej aplikacji, gdy użytkownik wybierze polecenie Nowy w menu Plik, w oknie dialogowym zostanie wyświetlona lista możliwych nowych typów dokumentów do otwarcia. Dla każdego obsługiwanego typu dokumentu aplikacja używa odrębnego obiektu szablonu dokumentu. Na poniższej ilustracji przedstawiono konfigurację aplikacji MDI, która obsługuje dwa typy dokumentów i pokazuje kilka otwartych dokumentów.

Diagram of an MDI application that has two document types.
Aplikacja MDI z dwoma typami dokumentów

Szablony dokumentów są tworzone i obsługiwane przez obiekt aplikacji. Jednym z kluczowych zadań wykonywanych podczas funkcji aplikacji InitInstance jest utworzenie jednego lub większej liczby szablonów dokumentów odpowiedniego rodzaju. Ta funkcja jest opisana w temacie Tworzenie szablonu dokumentu. Obiekt aplikacji przechowuje wskaźnik do każdego szablonu dokumentu na liście szablonów i udostępnia interfejs do dodawania szablonów dokumentów.

Jeśli potrzebujesz obsługi co najmniej dwóch typów dokumentów, musisz dodać dodatkowe wywołanie metody AddDocTemplate dla każdego typu dokumentu.

Ikona jest rejestrowana dla każdego szablonu dokumentu na podstawie jego pozycji na liście szablonów dokumentów aplikacji. Kolejność szablonów dokumentów jest określana przez kolejność dodawania ich z wywołaniami do elementu AddDocTemplate. MFC zakłada, że pierwszym zasobem Ikona w aplikacji jest ikona aplikacji, następny zasób Ikona jest pierwszą ikoną dokumentu itd.

Na przykład szablon dokumentu jest trzecim z trzech dla aplikacji. Jeśli w aplikacji znajduje się zasób Ikona w indeksie 3, ta ikona jest używana dla szablonu dokumentu. Jeśli nie, ikona indeksu 0 jest używana jako domyślna.

Zobacz też

Tematy ogólne dotyczące MFC
Tworzenie szablonu dokumentu
Tworzenie dokumentu/widoku
Relacje między obiektami MFC
Tworzenie nowych dokumentów, okien i widoków