В каждом приложении MDI присутствуют определенные компоненты. Это основное окно (окно-рамка MDI), клиентное окно MDI в окне-рамке, содержащее дочерние окна (окна MDI) и др. При использовании классов Doc/View приложение может помещать в окна MDI отображаемые элементы.
Приложение MDI обычно имеет пункт меню Window, который управляет дочерними окнами MDI. Меню Window обычно имеет такие
пункты как Tile, Cascade, Arrange и Close All. Имя каждого открытого окна MDI автоматически добавляется в конец данного меню, а
текущее выбранное окно отмечается.
Дочерние окна MDI имеют некоторые характеристики перекрывающегося окна. Их можно максимизировать до полного размера клиентного окна MDI или минимизировать в пиктограмму внутри клиентного окна. Дочерние окна MDI никогда не выводятся вне своих клиентных
окон и окон-рамок. Хотя дочерние окна MDI не могут иметь меню,
можно использовать меню окна-рамки.
Для каждого типа окна MDI в ObjectWindows определены классы
TMDIFrame, TMDIClient и TMDIChild. В ObjectWindows окно-рамка MDI
владеет клиентным окном MDI, а клиентное окно MDI является владельцем каждого дочернего окна MDI.
Функции-элементы TMDIFrame управляют окном-рамкой и его меню. ObjectWindows сначала передает команды активному окну, а затем - его родительскому окну, поэтому клиентное окно может обрабатывать команды окна-рамки. Обычно создается экземпляр TMDIFrame. Так как TMDIChild является производным от TFrameWindow, оно
может быть окном-рамкой с клиентным окном. Таким образом, вы можете создать специализированные окна TMDIChild. Стиль их может
зависеть от конкретного приложения.