Sdílet prostřednictvím


Odvozené třídy oken

Můžete vytvořit okna přímo z CWnd, nebo odvodit nové třídy okna z CWnd. Takto obvykle vytváříte zcela vlastní okna. Většina oken používaných v programu architektury je však vytvořena z jedné z odvozených tříd rámu okna poskytované MFC.

Třídy oken s rámečkem

CFrameWnd
Používá se pro okna s rámečkem SDI, která rámuje jeden dokument a jeho zobrazení. Okno rámce je okno hlavního rámce pro aplikaci i okno rámce pro aktuální dokument.

CMDIFrameWnd
Slouží jako hlavní okno rámce pro aplikace MDI. Hlavní rámové okno je kontejner pro všechna MDI dokumentová okna a sdílí s nimi nabídkovou lištu. Okno rámce MDI je okno nejvyšší úrovně, které se zobrazuje na ploše.

CMDIChildWnd
Používá se pro jednotlivé dokumenty otevřené v okně hlavního rámce MDI. Každý dokument a jeho zobrazení jsou rámovány podřízeným oknem rámce MDI obsaženým v okně hlavního rámce MDI. Podřízené okno MDI vypadá podobně jako typické rámcové okno, ale je umístěno uvnitř rámcového okna MDI, nikoliv přímo na ploše. Podřízené okno MDI však nemá vlastní řádek nabídek. Musí sdílet řádek nabídek okna rámce MDI, který ho obsahuje.

Další informace naleznete v tématu Rámečková okna.

Jiné třídy oken odvozené od CWnd

Kromě oken s rámečky je z CWnd odvozeno několik dalších hlavních kategorií oken:

  • Zobrazení:
    Zobrazení jsou vytvořena pomocí CWnd-odvozené třídy CView (nebo jedné z jejích odvozených tříd). Zobrazení je připojené k dokumentu a funguje jako zprostředkovatel mezi dokumentem a uživatelem. Zobrazení je podřízené okno (není podřízené okno MDI), které obvykle vyplňuje klientskou oblast okna rámce SDI nebo rámce podřízeného okna MDI (nebo tu část klientské oblasti, která není pokryta panelem nástrojů nebo stavovým řádkem).

  • Dialogová okna:
    Dialogová okna jsou vytvořena pomocí CWnd-odvozené třídy CDialog.

  • Formuláře:
    Zobrazení formulářů založená na prostředcích šablon dialogového okna, jako jsou dialogová okna, se vytvářejí pomocí tříd CFormView, CRecordViewnebo CDaoRecordView.

  • Ovládací prvky:
    Ovládací prvky, jako jsou tlačítka, seznamová pole a pole se seznamem, se vytvářejí pomocí jiných tříd odvozených z CWnd. Viz témata ovládacích prvků.

  • Řídicí panely:
    Podřízená okna obsahující ovládací prvky Mezi příklady patří panely nástrojů a stavové řádky. Viz Řídicí panely.

Hierarchie tříd oken

Odkazujte na hierarchický diagram MFC v referenční příručce MFC. Zobrazení jsou vysvětlená v architektuře dokumentů a zobrazení. Dialogová okna jsou vysvětlena v dialogových oknech.

Vytvoření vlastních tříd oken Special-Purpose

Kromě tříd oken poskytovaných knihovnou tříd možná budete potřebovat podřízená okna pro zvláštní účely. Chcete-li vytvořit takové okno, vytvořte vlastní CWnd-odvozenou třídu a nastavte ji jako podřízené okno rámce nebo zobrazení. Mějte na paměti, že rámec spravuje rozsah uživatelské oblasti okna rámce dokumentu. Většinu klientské oblasti spravuje zobrazení, ale jiná okna, jako jsou ovládací prvky nebo vlastní okna, mohou sdílet prostor s tímto zobrazením. Možná budete muset pracovat s mechanismy ve třídách CView a CControlBar pro umístění podřízených oken v klientské oblasti rámového okna.

Vytváření oken popisuje vytváření objektů oken a oken, která spravují.

Viz také

Objekty okna