Tworzenie okien ramowych dokumentu
Tworzenie dokumentu/widoku pokazuje, jak obiekt CDocTemplate organizuje tworzenie okna ramowego, dokumentu i wyświetlania i łączenia ich ze sobą. Trzy argumenty CRuntimeClass konstruktora CDocTemplate
określają klasy okna ramki, dokumentu i widoku, które szablon dokumentu tworzy dynamicznie w odpowiedzi na polecenia użytkownika, takie jak Nowe polecenie w menu Plik lub nowe okno w menu OKNA MDI. Szablon dokumentu przechowuje te informacje do późniejszego użycia podczas tworzenia okna ramowego dla widoku i dokumentu.
Aby mechanizm RUNTIME_CLASS działał poprawnie, klasy pochodnych okien ramowych muszą być zadeklarowane przy użyciu makra DECLARE_DYNCREATE. Jest to spowodowane tym, że struktura musi tworzyć okna ramek dokumentów przy użyciu dynamicznego mechanizmu konstrukcji klasy CObject
.
Gdy użytkownik wybierze polecenie, które tworzy dokument, struktura wywołuje szablon dokumentu, aby utworzyć obiekt dokumentu, jego widok i okno ramki, które będzie wyświetlać widok. Podczas tworzenia okna ramki dokumentu szablon dokumentu tworzy obiekt odpowiedniej klasy — klasę pochodną CFrameWnd dla aplikacji SDI lub CMDIChildWnd dla aplikacji MDI. Następnie platforma wywołuje funkcję elementu członkowskiego LoadFrame obiektu okna ramowego, aby uzyskać informacje o tworzeniu z zasobów i utworzyć okno systemu Windows. Struktura dołącza uchwyt okna do obiektu okna. Następnie tworzy widok jako okno podrzędne okna ramki dokumentu.
Należy zachować ostrożność podczas podejmowania decyzji , kiedy zainicjować CWnd
obiekt -pochodny.
Co chcesz dowiedzieć się więcej o
Wyprowadzanie klasy z obiektu CObject (jego mechanizm tworzenia dynamicznego)
Tworzenie dokumentu/widoku (szablony i tworzenie okien ramowych)