Преимущества наследования форм
Как уже упоминалось ранее, преимущества наследования форм заключаются в возможности добавления новых компонентов и кода в объект и наличии связи с оригиналом шаблона в хранилище. Если вы изменяете шаблон, наследуемый объект будет автоматически обновлен. Выполните следующие действия.
Выберите команду File/New Application, и появится пустое приложение.
Закройте главную форму, окно которой озаглавлено Forml.
Выберите команду File/New, и будет выведено диалоговое окно New Items.
Щелкните на вкладке Dialogs, и будет выведена страница диалогов.
Выберите стандартный (Standard) диалог с кнопками, выровненными вертикально по правой стороне.
Выберите опцию Inherit.
Щелкните на кнопке ОК, и Delphi выведет новую диалоговую форму OKRightDlg2.
Выберите из меню View/Forms, и будет выведено диалоговое окно View Form.
Выберите шаблонную форму OKRightDIg, щелкните на кнопке ОК, и Delphi выведет новую шаблонную форму, озаглавленную Dialog и расположенную точно поверх новой формы.
Теперь приступим к демонстрации. Переместите шаблонную форму в нижнюю часть главного окна Delphi. Вы обратили внимание, что новая форма OKRightDlg2 не открылась? Это связано с тем, что Delphi обновляет свойства Left и Тор одновременно с изменением соответствующих родительских свойств.
Однако в обратном направлении изменения не передаются. Чтобы убедиться в этом, выполните следующие действия.
Выберите команду View/Forms, и появится диалоговое окно View Form.
Выберите OKRightDlg2 и щелкните на ОК.
Переместите OKRightDlg2 в нижнюю часть экрана.
Ваш экран должен выглядеть примерно так, как на рис. 1.11.
Рис. 1.11 Изменение распространяются только в одном направлении - от родителей к потомкам
При перемещении диалога-наследника на экране диалогородитель будет оставаться на месте, что иллюстрирует передачу свойств только в одном направлении.