Для построения приложения MDI в ObjectWindows выполните следующие шаги:
Специфическое для MDI поведение реализуется классами
TMDIXxx, поэтому вы можете сосредоточиться на специфическом для
приложения поведения.
Окно-рамка MDI всегда является основным окном приложения,
так что вы можете построить его в функции-элементе InitMainWindow
объекта приложения. Окна-рамки MDI отличаются от других окон-рамок (обрамляющих окон) следующим:
TMDIFrame в качестве параметра задается идентификатор ресурса меню. В других окнах-рамках вы можете для установки меню вызывать AssignMenu.
Поскольку в качестве окна-рамки MDI обычно используется экземпляр TMDIFrame, вам нужно добавить к своим клиентным оконным
классам MDI специфическое для приложения поведение. Окно-рамка
является владельцем меню и комплектов инструментальных средств и
передает в клиентное окно и приложение генерируемые ими команды.
Для манипуляции с дочерними окнами MDI TMDIClient имеет несколько функций-элементов. Команды меню дочернего окна приложения
MDI управляют клиентными окнами. TMDIClient автоматически отвечает на эти команды и выполняет соответствующие действия, задавая
вывод окон с перекрытием или без, упорядочивая пиктограммы или
закрывая их. Команды меню определены в файле заголовка ресурса
mdi.rh. При построении меню в сценарии ресурса не забудьте включить этот файл.
Дочерние окна MDI не должны отвечать на команды меню какого-либо дочернего окна. Это делает клиентное окно MDI. Создать
дочерние окна MDI можно двумя способами: автоматически в TMDIClient::InitChild или в другом месте.