Udostępnij za pośrednictwem


Wiele typów dokumentów, widoków i ramka okna

Standardowy zależność pomiędzy dokumentu, jego widoku i jego ramki okna jest opisane w Tworzenia dokumentu/View.Wiele aplikacji obsługuje jednego typu dokumentu (ale prawdopodobnie wieloma otwartymi dokumentami tego typu) z jednego widoku dokumentu i okno tylko jedną ramkę na dokument.Jednak niektóre aplikacje, trzeba zmienić jeden lub więcej z tych ustawień domyślnych.

Co chcesz wiedzieć więcej?

  • Wiele typów dokumentów

  • Wiele widoków

  • Wiele okien ramki

  • Rozdzielacz windows

Wiele typów dokumentów

Kreator aplikacji MFC tworzy klasę jednolitego dokumentu.Jednak w niektórych przypadkach może być konieczne obsługuje więcej niż jeden typ dokumentu.Na przykład aplikacja może być konieczne dokumenty arkuszy i wykresów.Każdy typ dokumentu jest reprezentowane przez własnej klasy dokumentu i prawdopodobnie własnej klasy widoku.Po wybraniu polecenia nowy plik ramach Wyświetla okno dialogowe, które zawiera listę typów dokumentów obsługiwanych.Następnie tworzy dokument typu wybrana przez użytkownika.Każdy typ dokumentu jest zarządzany przez obiektem szablon dokumentu.

Aby utworzyć dokument dodatkowych klas, zobacz Dodawanie klasy.Wybierz CDocument jako typ klasy z i dostarczania informacji żądanych dokumentów.Następnie wdrożenia nowej klasy danych.

Aby umożliwić ramach wiedzieć o klasie ekstra dokumentu, należy dodać drugie wywołanie AddDocTemplate w klasie aplikacja InitInstance zastąpić.Aby uzyskać więcej informacji, zobacz Szablony dokumentów.

Wiele widoków

Wiele dokumentów wymaga tylko jednego widoku, ale można obsługiwać więcej niż jeden widok pojedynczego dokumentu.Aby ułatwić wdrożenie wielu widoków, obiekt dokumentu przechowuje listę swoich poglądów, przewiduje funkcji elementów członkowskich Dodawanie i usuwanie widoków i dostarcza UpdateAllViews Członkowskich funkcji dla wynajmu wiele widoków wiedzieć, kiedy dane dokumentu uległy zmianie.

MFC obsługuje trzy interfejsy użytkownika wspólne wymagające wielu widoków na tym samym dokumencie.Te modele są:

  • Wyświetlanie obiektów tej samej klasy, każdy w osobnym oknie ramce dokument MDI.

    Należy wspierać tworzenie ramki drugiego okna Dokument.Użytkownik może wybrać polecenie nowe okno, aby otworzyć drugiej ramki z widoku tego samego dokumentu, a następnie użyć dwóch ramek do wyświetlania różnych części dokumentu jednocześnie.Platforma obsługuje polecenie nowe okno menu Okno aplikacji MDI duplikując początkowej ramki okna i widoku dołączonego do dokumentu.

  • Wyświetlanie obiektów tej samej klasy, w tym samym oknie dokumentu w ramce.

    Windows podziału podzielić obszar widoku okna jednolitego dokumentu na wiele widoków oddzielnego dokumentu.Ramy tworzy wiele obiektów w widoku do tego samego typu widoku.Aby uzyskać więcej informacji, zobacz Windows podziału.

  • Wyświetlanie obiektów różnych klas w oknie pojedynczą klatkę.

    W tym modelu, zmiana podziału okna, wiele widoków udostępniać okno pojedynczą klatkę.Widoki zbudowane są z różnych klas w każdym widoku, zapewniając w inny sposób wyświetlania tego samego dokumentu.Na przykład jeden widok może być Pokaż dokument edytora tekstów w trybie normalnym, podczas gdy inne widok pokazuje go w trybie kontur.Formant rozdzielacza pozwala dostosować wielkość widoki.

Następujący rysunek, podzielone na części, b i c, pokazuje trzech modelach interfejsu użytkownika w podanej powyżej kolejności.

Widok wielu interfejsów użytkownika

Wiele interfejsów użytkownika w widoku

Środowisko framework zapewnia tych modeli, implementując polecenie nowe okno i zapewniając klasy CSplitterWnd, zgodnie z opisem zamieszczonym w Windows podziału.Można zaimplementować innych modeli korzystanie z tych jako punktu wyjścia.Dla przykładowe programy, które ilustrują różne konfiguracje widoki, windows ramki i kable sieciowe, zobacz Próbek MFC.

Aby uzyskać więcej informacji o UpdateAllViews, zobacz klasy CView w Odniesienia MFC i Bazgroły próbki.

Wiele okien ramki

Polecenie nowe okno menu Okno aplikacji MDI umożliwia tworzenie drugie okno ramki na tym samym dokumencie.Więcej informacji na ten temat można znaleźć w pierwszym modelu na rysunku Widok wielu interfejsów użytkownika.

Rozdzielacz Windows

W oknie podziału okno jest lub można podzielić na dwa lub więcej przewijaną okienka.Rozdzielacz formantu (lub "podzielone pole") w ramce okno obok pasków przewijania umożliwia użytkownikowi dopasować wielkość paneli.Każde okienko to w tym samym dokumencie.W "dynamiczny" rozdzielaczy widoki są tej samej klasy, jak przedstawiono w części b rysunek Widok wielu interfejsów użytkownika.W "static" rozdzielaczy widoki mogą być różnych klas.Windows podziału obu rodzajów są obsługiwane przez klasę CSplitterWnd.

Windows dynamiczne rozdzielacza, z widoków tej samej klasy umożliwiają użytkownikowi podzielić okno na okienka wielu na będzie, a następnie przewiń różnych okienek, aby zobaczyć różne części dokumentu.Użytkownik może również unsplit okna, aby usunąć dodatkowe widoki.Windows rozdzielacza, dodaje się Bazgroły próbki są przykładem.Ten temat opisuje technikę, do tworzenia dynamicznych podziału windows.Okno podziału dynamicznych znajduje się w części b rysunek Widok wielu interfejsów użytkownika.

Start windows rozdzielacza statycznego, widoki różnych klas w oknie podzielić na wiele okienka z innego celu.Na przykład w Edytorze Visual C++ bitmapy okna Obraz zawiera dwa okienka obok siebie.W okienku po lewej stronie wyświetlany life-sized obrazu mapy bitowej.Okienku po prawej stronie wyświetla powiększony lub powiększony obraz tej samej mapy bitowej.Okienka są oddzielone "paska podziału", który użytkownik może przeciągać do zmiany względnych rozmiary okienek.Okno rozdzielacza statycznego znajduje się w części c rysunek Widok wielu interfejsów użytkownika.

Aby uzyskać więcej informacji, zobacz klasy CSplitterWnd w Odniesienia MFC i Próbek MFC.

Zobacz też

Koncepcje

Widok dokumentu/Architecture