Dokumenty, zobrazení a architektura

Poznámka:

Knihovna MFC (Microsoft Foundation Classes) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.

Jádrem architektury MFC jsou koncepty dokumentu a zobrazení. Dokument je datový objekt, se kterým uživatel pracuje v rámci editačního sezení. 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 CDocumentse 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 od CWinThread 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 CDocTemplatevytvoří 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řídu CMultiDocTemplate 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 MDI aplikaci jsou okna dokumentů zobrazena jako podřízená okna v hlavním rámcovém okně. Vaše odvozená třída hlavního rámce určuje styly a další vlastnosti rámcových oken, která obsahují vaše zobrazení. Pokud potřebujete přizpůsobit okna s rámečkem, odvoďte z CFrameWnd rámečku okna dokumentu pro aplikace SDI. Odvoďte od CMDIFrameWnd k přizpůsobení okna hlavního rámce pro aplikace MDI. Odvoďte také třídu z CMDIChildWnd, abyste přizpůsobili 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 funkci OLE ve své aplikaci, odvoďte svoji třídu dokumentu od COleDocument nebo některé z jejích odvozených tříd, v závislosti na typu funkce, kterou potřebujete.

  • Pohled nebo pohledy.

    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ých případech můžete chtít, aby dokument obsahoval více pohledů na data.

    Pokud potřebujete posouvání, odvoďte z CScrollView. Pokud má vaše zobrazení uživatelské rozhraní, které je rozloženo v prostředku šablony dialogového okna, odvoďte z CFormView. Pro jednoduchá textová data použijte nebo odvozte z 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 od CRecordView (pro ODBC). K dispozici jsou také třídy CTreeView, CListViewa CRichEditView.

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.

Diagram objektů ve spuštěné 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í.

Viz také

Použití tříd k zápisu aplikací pro Windows