Szablony dokumentów i proces tworzenia dokumentu/widoku
Aby zarządzać złożoność procesu tworzenia dokumentów ze swego stanowiska skojarzone i ramka okna, ramach używa dwóch klas szablonów dokumentów: CSingleDocTemplate dla aplikacji interfejsu SDI i CMultiDocTemplate dla aplikacji MDI.A CSingleDocTemplate można utworzyć i zapisać jednego dokumentu z jednego typu na raz.A CMultiDocTemplate przechowuje listę wielu otwartych dokumentów określonego typu.
Niektóre aplikacje obsługują wiele typów dokumentów.Na przykład aplikacja może obsługiwać dokumentów tekstowych i dokumentów graficznych.W takich aplikacji gdy użytkownik wybierze polecenie Nowy w menu Plik okno dialogowe pokazuje listę możliwych nowych typów dokumentu do otwarcia.Dla każdego typu dokumentu obsługiwana aplikacja używa obiektu szablonu odrębny dokument.Na poniższym rysunku pokazano konfigurację aplikacji MDI, która obsługuje dwa typy dokumentów i zawiera kilka otwartych dokumentów.
Aplikacja MDI z dwóch typów dokumentów
Szablony dokumentów są utworzone i utrzymywane przez obiekt aplikacji.Jednym z kluczowych zadań wykonanych w aplikacji InitInstance funkcja jest sporządzenie jednego lub kilku szablonów dokumentów tego rodzaju właściwe.Ta funkcja jest opisana w Tworzenie szablonu dokumentu.Obiekt aplikacji przechowuje wskaźnik do każdego szablonu dokumentu na liście szablonów i zapewnia interfejs do dodawania szablonów dokumentów.
Jeśli trzeba obsługiwać dwa lub więcej typów dokumentów, należy dodać dodatkowe połączenia do AddDocTemplate dla każdego typu dokumentu.
Ikona jest zarejestrowany dla każdego szablonu dokumentu, na podstawie jego pozycji w danej aplikacji listy szablonów dokumentów.Kolejność szablony dokumentów jest określana przez zamówienia, są one dodawane z wywołaniami AddDocTemplate.MFC zakłada, że pierwszy zasób ikona w aplikacji jest ikona aplikacji, następnego zasobu ikony jest pierwszą ikonę dokumentu i tak dalej.
Na przykład szablon dokumentu jest trzeci z trzech aplikacji.Jeśli istnieje zasób ikony aplikacji indeksem 3, tą ikoną jest używany dla szablonu dokumentu.Jeśli tak nie jest, ikona z indeksem 0 jest używana jako wartość domyślna.