Dokumenty, zobrazení a framework
Jádrem architektury MFC jsou koncepty dokumentu a zobrazení. Dokument je datový objekt, se kterým uživatel pracuje v relaci pro úpravy. Vytvoří se příkazem Nový nebo Otevřít v nabídce Soubor a obvykle se uloží do souboru. (Standardní dokumenty MFC odvozené z třídy CDocument
se liší od aktivních dokumentů a složených dokumentů OLE.) Zobrazení je objekt okna, přes který uživatel pracuje s dokumentem.
Klíčové objekty ve spuštěné aplikaci jsou:
Objekty vláken
Pokud vaše aplikace vytvoří samostatná vlákna provádění , například pro výpočty na pozadí, použijete třídy odvozené z
CWinThread
.CWinApp
je odvozen odCWinThread
a představuje primární vlákno provádění (nebo hlavní proces) ve vaší aplikaci. Mfc můžete použít také v sekundárních vláknech.Objekt aplikace
Vaše třída aplikace (odvozená z
CWinApp
) řídí všechny objekty výše a určuje chování aplikace, jako je inicializace a vyčištění. Jeden a jediný objekt aplikace vytvoří a spravuje šablony dokumentů pro všechny typy dokumentů, které aplikace podporuje.Šablona dokumentu nebo šablony
Šablona dokumentu orchestruje vytváření dokumentů, zobrazení a oken s rámečkem. Konkrétní třída šablony dokumentu odvozená z třídy
CDocTemplate
vytvoří a spravuje všechny otevřené dokumenty jednoho typu. Aplikace, které podporují více typů dokumentů, mají více šablon dokumentů. Použijte třídu CSingleDocTemplate pro aplikace SDI nebo použijte tříduCMultiDocTemplate
pro aplikace MDI.Okna s rámečkem
Zobrazení se zobrazují uvnitř oken s rámečkem dokumentu. V aplikaci SDI je okno rámečku dokumentu také "okno hlavního rámce" pro aplikaci. V aplikaci MDI jsou okna dokumentů podřízená okna zobrazená v okně hlavního rámce. Odvozená třída okna hlavního rámečku určuje styly a další vlastnosti oken s rámečkem, které obsahují vaše zobrazení. Pokud potřebujete přizpůsobit okna s rámečkem, odvozujte od
CFrameWnd
okna rámečku dokumentu pro aplikace SDI. Odvozujte odCMDIFrameWnd
přizpůsobení okna hlavního rámce pro aplikace MDI. Odvozujte také třídu, odCMDIChildWnd
které chcete přizpůsobit jednotlivé druhy oken s rámečkem dokumentu MDI, která vaše aplikace podporuje.Dokument nebo dokumenty.
Třída dokumentu (odvozená z
CDocument
) určuje data vaší aplikace.Pokud chcete, aby funkce OLE v aplikaci, odvozujte třídu dokumentu nebo
COleDocument
jednu z jejích odvozených tříd v závislosti na typu funkce, kterou potřebujete.Zobrazení nebo zobrazení.
Třída zobrazení (odvozená z
CView
) je okno uživatele s daty. Třída zobrazení určuje, jak uživatel vidí data dokumentu a pracuje s nimi. V některýchpřípadechchPokud potřebujete posouvání, odvodit z
CScrollView
. Pokud má vaše zobrazení uživatelské rozhraní, které je rozloženo v prostředku šablony dialogového okna, odvodit zCFormView
. Pro jednoduchá textová data použijte nebo odvozte .CEditView
Pro aplikaci pro přístup k datům založeným na formuláři, jako je například program pro zadávání dat, se odvozuje odCRecordView
(pro ODBC). K dispozici jsou také třídyCTreeView
,CListView
aCRichEditView
.
Ve spuštěné aplikaci tyto objekty společně reagují na akce uživatelů vázané příkazy a dalšími zprávami. Jeden objekt aplikace spravuje jednu nebo více šablon dokumentů. Každá šablona dokumentu vytváří a spravuje jeden nebo více dokumentů (v závislosti na tom, jestli je aplikace SDI nebo MDI). Uživatel zobrazí a manipuluje s dokumentem prostřednictvím zobrazení obsaženého v okně rámečku. Následující obrázek znázorňuje vztahy mezi těmito objekty pro aplikaci SDI.
Objekty ve spuštěné aplikaci SDI
Zbytek této řady článků vysvětluje, jak nástroje architektury, Průvodce aplikací MFC a editory prostředků, vytvářejí tyto objekty, jak spolupracují a jak je používáte ve svém programování. Dokumenty, zobrazení a okna s rámečkem jsou podrobněji popsány v objektech oken a architektuře dokumentů a zobrazení.