Читать «Учебник по Delphi 4.0» онлайн - страница 30
Unknown
Выберите команду View/Forms, и появится диалоговое окно View Form.
Выберите OKRightDlg2 и щелкните на ОК.
Переместите OKRightDlg2 в нижнюю часть экрана. Ваш экран должен выглядеть примерно так, как на рис. 1.11.
Рис. 1.11. Изменение распространяются только в одном направлении — от родителей к потомкам
При перемещении диалога-наследника на экране диалог-родитель будет оставаться на месте, что иллюстрирует передачу свойств только в одном направлении.
Термин SDI (Single Document Interface) дословно означает одно-документный интерфейс и описывает приложения, способные загрузить и использовать одновременно только один документ. Программа Notepad, приведенная на рис. 1.12, является ярким представителем такого класса программ.
Следует сказать несколько слов о термине документ. Приложения становятся все более объектоцентричными, т. е. они работают с неким центральным объектом, в который могут быть внедрены внешние объекты. В общем случае эти внешние объекты обрабатываются другим специализированным приложением. Примером может служить Wordpad (см. рис. 1.5), позволяющий внедрять любые OLE-объекты в свои файлы. Но он остается при этом SDI-приложением, так как может работать только с одним объектом (или документом в широком смысле этого слова) Wordpad.
Рис. 1.12.Программа Notepad как пример SDI-приложения
Способность одновременно работать только с одним объектом не мешает приложению использовать дополнительные формы, например диалоговые окна, панели инструментов и прочее (на рис. 1.13 показаны панели инструментов в окне Wordpad). Для реализации этих возможностей в Delphi просто добавьте форму в ваше приложение и установите ее свойство FormStyle равным fsSizeToolWin или fsToolWindow.
Еще одним примером может служить сама Delphi — огромное количество панелей инструментов, меню, разнообразных библиотек компонентов, взаимодействующих между собой форм… Но в целом она остается SDI-приложением, так как может загрузить и использовать одновременно только один объект.
Рис. 1.13. Программа Wordpad — SDI-приложение со многими формами
Пример SDI-приложения
Для демонстрации SDI создадим простую программу просмотра изображения.
.
Построение интерфейса
Обычно первым шагом построения программы является создание интерфейса. Не будем отступать от традиций, и выполним следующие действия.
1. Выберите команду File/New Application, и появится пустое приложение.
Совет: Delphi по умолчанию создает именно SDI-приложение. Однако хранилище объектов предоставляет возможность назначить новый шаблон проекта по умолчанию.
2. Установите следующие свойства форм.
Свойство Значение
Caption Image Viewer
Name frmMain
ShowHint True
3. Поместите компонент TPanel в форму. Установите следующие его свойства.
Свойство Значение
Align alTop
Caption –
4. Поместите три компонента TSpeedButton в TPanel и назовите их spbtnLoad, spbtnStretch и spbtnCenter. Установите следующие их свойства.
Свойство Значение
spbtnLoad.Hint Load
spbtnLoad.Left 8
spbtnLoad.Top 8
spbtnStretch.AllowAlIUp True