Для реализации рамки окна разработан базовый класс CFrameWnd. Этот класс не только сам является рамкой окна, но и базовым классом для других классов рамок окон. Приложения на основе MDI более сложны в организации и содержат две рамки окон в отличии от приложений SDI, где одна рамка. На рисунке ниже показаны различия.
Итак, мы имеем разные классы рамок для SDI:
CFrameWnd
И MDI приложений:
CMDIFrameWnd CMDIChildWnd
С рамкой тесно связано понятие окна. Окно при появлении на экране ограничивается рамкой с необязательными дополнительными элементами типа меню, панели инструментов, строки состояния и так далее. Рамка переадресует получаемые сообщения своим видам. За управление рамкой, и в частности, изменение размеров, перемещение отвечает Windows. Класс рамки отвечает за:
Любое приложение состоит из двух компонентов: рамки CFrameWnd и рабочей области внутри рамки CView. Общий вид приложения можно представить так.