Alternativy architektury document/view
Architektura dokumentu zobrazit MFC aplikace obvykle slouží ke správě informací, formátů a vizuální reprezentace dat uživatelům.Pro většinu aplikací architektura zobrazit dokument je architektura aplikace přiměřený a účinný.Tato architektura odděluje data ze zobrazení a ve většině případů, aplikace zjednodušuje a snižuje redundantní kód.
Architektura dokumentu nebo zobrazení však není vhodná pro některé situace.Zvážit tyto příklady:
Jsou portování aplikací napsaných v c pro Windows, můžete dokončit port před přidáním podpory dokumentu nebo zobrazení do aplikace.
Pokud psaní lehký nástroj je možné provést bez architektura dokumentu zobrazit.
Pokud původní kód již smíchá správy dat s daty zobrazení pohyblivého modelu dokumentu zobrazit kód není hodnotě úsilí, protože je nutné oddělit dva.Budete pravděpodobně chtít ponechat kód je.
Chcete-li vytvořit aplikaci, která nepoužívá architektura dokumentu zobrazit, zrušte Architektura/zobrazení dokumentu podporu políčko v kroku 1 Průvodce aplikace MFC.Viz Průvodce aplikace MFC podrobnosti.
[!POZNÁMKA]
Dialogové okno aplikace vytvořené Průvodcem aplikace MFC nepoužívejte architektura zobrazit dokument tak, aby se Architektura/zobrazení dokumentu podporu políčko je zakázán, pokud vyberete typ dialogového okna aplikace.
Visual C++ průvodců, editory zdrojového a dialogové okno pracovat stejně jako ostatní Průvodce generované aplikací generované aplikací.Aplikace podporuje panely nástrojů, posuvníky a stavový řádek a má o pole.Aplikace bude zaregistrovat všechny šablony dokumentu a nebude obsahovat třídu dokumentu.
Poznámka, že generované aplikací má zobrazení třídy CChildView, odvozené z CWnd.MFC vytvoří a jednu instanci třídy zobrazení pozice v rámci rámeček okna vytvořená aplikace.MFC stále vynutí použití zobrazení okna, protože zjednodušuje umístění a správě obsahu aplikace.Můžete přidat kód Malování OnPaint členem této třídy.Zobrazení, nikoli rámeček, měli byste přidat kód posuvníky.
Je odpovědný za provádění mnoha základních funkcí aplikace poskytované MFC architektura dokumentu zobrazit, znamená jeho absence v projektu jsou odpovědné za provádění mnoho důležitých funkcí aplikace:
Podle průvodce aplikace MFC, nabídka aplikace obsahuje pouze New a Exit na příkazy soubor nabídce.( New Příkaz je podporován pouze u aplikace MDI, podpora není aplikace SDI bez dokumentu zobrazit.) Generované nabídce zdroj nebude podporovat seznam MRU (naposledy použité).
Musíte přidat funkce zpracování a implementace pro všechny příkazy, které bude podporovat aplikace, včetně otevřených a Uložit na soubor nabídce.MFC obvykle obsahuje kód pro podporu těchto funkcí ale, že podpora pevně vázán na architektura dokumentu zobrazit.
Nástrojů pro aplikaci, pokud jste požadovali, bude minimální.
Důrazně doporučujeme použít Průvodce aplikací MFC k vytváření aplikací bez architektura dokumentu zobrazit, protože Průvodce zaručuje správné architektury MFC.Pokud je třeba se vyvarovat použití průvodce, zde jsou však několik přístupů pro vynechání architektura zobrazit dokument v kódu:
Zpracování dokumentu jako nepoužívané appendage a provádět správu kódu dat ve třídě zobrazení navrhovali výše.Režie dokumentu je relativně nízká.Jeden CDocument objektu poněkud malé množství režii samostatně plus malé režie CDocumentna základní třídy, CCmdTarget a CObject.Obě tyto třídy jsou malé.
V CDocument:
Dva CString objektů.
Tři BOOLs.
Jeden CDocTemplate ukazatel.
Jeden CPtrList objekt, který obsahuje seznam zobrazení dokumentu.
Kromě toho dokumentu vyžaduje čas vytvoření objektu dokumentu, jeho zobrazení objektů, rámeček okna a objektu šablony dokumentu.
Zpracování dokumentu a zobrazit jako nepoužívané nemodifikovanému.Správa dat a výkresu kód umístíte v rámci okna namísto zobrazení.Tento přístup je blíže k modelu programovací jazyk C.
Přepsat části MFC rámce, které vytvoření dokumentu a zobrazení k odstranění všech jejich vytváření.Proces vytváření dokumentu začíná volání CWinApp::AddDocTemplate.Odstranění volání z třídu aplikace InitInstance členské funkce a místo toho vytvořte rámeček okna v InitInstance sami.Vložte kód správy dat rámce třídy okna.Proces vytváření dokumentu nebo zobrazení je znázorněn na Vytvoření dokumentu nebo zobrazení.To je více práce a vyžaduje hlubší porozumění rámce, ale nebudete zcela z režie dokumentu zobrazit.
V článku MFC: zobrazení a použití databáze tříd bez dokumentů konkrétnější příklady alternativy zobrazit dokument v rámci databázové aplikace.