Sdílet prostřednictvím


Více typů dokumentů, zobrazení a oken s rámečkem

Standardní vztah mezi dokumentu, jeho zobrazení a jeho okno rámce je popsán v Vytváření Document/View.Mnoho aplikací podporuje jeden dokument s jedním zobrazením okna pouze jeden snímek v dokumentu a dokument typu (ale možná více otevřených dokumentů tohoto typu).Ale některé aplikace pravděpodobně nutné změnit jeden nebo více z těchto výchozích hodnot.

O čem chcete vědět více?

  • Více typů dokumentů

  • Více zobrazení

  • Více oken rámce

  • Rozdělovač windows

Více typů dokumentů

Průvodce aplikace knihovny MFC vytvoří třídy jeden dokument.V některých případech však musíte podporovat více než jeden typ dokumentu.Aplikace může například potřebovat dokumenty listů a grafů.Každý typ dokumentu je reprezentováno vlastní třída dokumentu a pravděpodobně vlastní zobrazení třídy.Když uživatel vybere příkaz Nový soubor, rozhraní zobrazí dialogové okno se zobrazí seznam typů podporovaných dokumentu.Potom vytvoří dokument typu, který uživatel zvolí.Vlastní šablona dokumentu objekt spravuje jednotlivé typy dokumentů.

Vytvoření třídy dalších dokumentů naleznete v tématu Přidání třídy.Zvolte CDocument jako typ třídy jsou odvozeny z a poskytovat jim informace požadovaného dokumentu.Pak implementujte data nové třídy.

Pokud chcete vědět o třídě dokumentu zvláštní rámec, je třeba přidat druhé volání AddDocTemplate ve třídě aplikace InitInstance přepsat.Další informace naleznete v tématu Šablony dokumentů.

Více zobrazení

Mnoho dokumentů vyžadují pouze jedno zobrazení, ale je možné podporovat více než jedno zobrazení jednoho dokumentu.Můžete implementovat více zobrazení, objektu dokumentu, vede seznam jeho zobrazení poskytuje členské funkce pro přidání a odebrání zobrazení a dodává UpdateAllViews členské funkce pro zobrazení více vědět, kdy došlo ke změně dat v dokumentu pronájmu.

MFC podporuje tři běžné uživatelské rozhraní vyžadující více zobrazení stejného dokumentu.Tyto modely jsou:

  • Zobrazit objekty stejné třídy, každé v samostatném okně rámec MDI dokumentu.

    Můžete chtít podporovat vytváření druhé okno rámeček v dokumentu.Uživatel může zvolit příkaz nové okno otevřít druhý snímek zobrazení stejného dokumentu a zobrazení různých částí dokumentu současně pomocí dvou rámců.Rozhraní podporuje příkaz nové okno v nabídce okno pro aplikace MDI duplikováním počáteční okno a zobrazit připojené k dokumentu.

  • Zobrazit objekty stejné třídy ve stejném okně rámce dokumentu.

    Rozdělovač windows místo zobrazení okna jediný dokument rozdělit na více samostatných zobrazení dokumentu.Systém vytvoří ze stejné třídy zobrazení více objektů zobrazení.Další informace naleznete v tématu Rozdělovač Windows.

  • Zobrazit objekty různých tříd v rámci jednoho okna.

    V tomto modelu, změna okna rozdělovač sdílet více zobrazení okna jeden snímek.Pohledy jsou zhotoveny z různých tříd, každé zobrazení poskytuje jiný způsob zobrazení stejného dokumentu.Jedno zobrazení může například zobrazit textového dokumentu v normálním režimu při jiných zobrazení zobrazuje jej v režimu obrysy.Ovládací prvek rozdělovače umožňuje uživateli upravit relativní velikosti zobrazení.

Na následujícím obrázku je rozdělen do částí a, b a c, ukazuje tři modely uživatelského rozhraní ve výše uvedeném pořadí.

Více zobrazení uživatelského rozhraní

Zobrazení více uživatelských rozhraní

Rozhraní framework poskytuje tyto modely pomocí příkazu nové okno a poskytnutím třídy CSplitterWnd, jak je popsáno v Rozdělovač Windows.Můžete implementovat další modely využít jako počáteční bod.Pro ukázkové aplikace, které ilustrují různé konfigurace zobrazení, rámeček okna a příčky, viz Ukázky knihovny MFC.

Další informace o UpdateAllViews, viz třída CView v Odkaz knihovny MFC a Klikyháky ukázka.

Více oken rámce

Příkaz nové okno v nabídce okno pro aplikace MDI slouží k vytvoření druhé okno rámce ve stejném dokumentu.Další informace naleznete v tématu první model na obrázku Uživatelské rozhraní zobrazit více.

Rozdělovač Windows

V rozděleném okně okno je nebo může být rozděleno do dvou nebo více částí posuvný.Rozdělovač ovládacího prvku (nebo "rozdělit pole") v rámci okna vedle posuvníků umožňuje uživateli upravit relativní velikosti podoken.Každé podokno je zobrazení stejného dokumentu.V "dynamické" příčky pohledy jsou stejné třídy, jak je uvedeno v části b na obrázku Uživatelské rozhraní zobrazit více.V "statické" příčky může být zobrazení různých tříd.Rozdělovač windows obou druhů jsou podporovány třídou CSplitterWnd.

Dynamický rozdělovač windows se zobrazeními stejného druhu, umožňuje rozdělit okno na více podoken kdykoli a posuňte různá podokna zobrazit různé části dokumentu.Uživatel může také unsplit okna, chcete-li odebrat další zobrazení.Přidané do systému windows rozdělovač Klikyháky ukázka jsou příklad.Toto téma popisuje postup pro vytváření dynamických rozdělovač windows.V části b na obrázku je zobrazen dynamický rozdělovač okno Uživatelské rozhraní zobrazit více.

Statický rozdělovač windows zobrazení různých tříd, začínají okno rozděleno do několika částí, každá má jiný účel.Například v editoru Visual C++ rastrový obraz okno zobrazuje dvou podoken vedle sebe.V levém podokně zobrazí life-sized obrazu bitmapy.V pravém podokně zobrazí zvětšený nebo při zvětšení obrazu stejné bitmapy.Podokna jsou odděleny "dělicí panel", který uživatel přetažením lze změnit relativní velikosti podoken.V části c na obrázku je zobrazen statický rozdělovač okno Uživatelské rozhraní zobrazit více.

Další informace naleznete v tématu o třídě CSplitterWnd v Odkaz knihovny MFC a Ukázky knihovny MFC.

Viz také

Koncepty

Architektonický model dokument/zobrazení