Odvozené třídy oken
Můžete vytvořit okna přímo z CWnd
, nebo odvodit nové třídy okna z CWnd
. Obvykle vytváříte vlastní okna. Většina oken používaných v programu architektury je však vytvořena z jedné z odvozených CWnd
tříd oken rámečku 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í okno rámce je kontejner pro všechna okna dokumentu MDI a sdílí s nimi řádek nabídek. 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é okno rámečku, ale je obsaženo uvnitř okna rámečku MDI místo toho, aby sedělo 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 jsou odvozeny CWnd
z několika dalších hlavních kategorií oken:
Zobrazení:
Zobrazení jsou vytvořena pomocíCWnd
-odvozené třídyCView
(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 (nikoli podřízená položka MDI), které obvykle vyplní klientskou oblast okna rámce SDI nebo podřízeného okna rámce MDI (nebo část klientské oblasti, která není pokryta panelem nástrojů nebo stavovým řádkem).Dialogová okna:
Dialogová okna jsou vytvořena pomocíCWnd
-odvozené třídyCDialog
.Formuláře:
Zobrazení formulářů založená na prostředcích šablon dialogového okna, jako jsou dialogová okna, se vytvářejí pomocí třídCFormView
,CRecordView
neboCDaoRecordView
.Ovládací prvky:
Ovládací prvky, jako jsou tlačítka, seznamy a pole se seznamem, se vytvářejí pomocí jiných tříd odvozených zCWnd
. 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ý graf MFC v referenčních informacích k prostředí 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 pro zvláštní účely
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 architektura spravuje rozsah klientské oblasti okna rámečku dokumentu. Většinu klientské oblasti spravuje zobrazení, ale jiná okna, jako jsou ovládací panely nebo vlastní okna, můžou sdílet prostor se 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 okna rámečku.
Vytváření oken popisuje vytváření objektů oken a oken, která spravují.