генераторы, а также авторские help’ы, доступные через меню Delphi. [22].
1.7.4Библиотека визуальных компонент
Компоненты, используемые при разработке в Delphi, встроены в среду разработки
приложений ипредставляют из себя набор типов объектов, используемых в качестве
фундамента при строительстве приложения.
Этот костяк называется Visual Component Library (VCL). В VCL есть такие
стандартные элементыуправления, как строки редактирования, статические элементы
управления, строки редактирования со списками, списки объектов. Еще имеются
такие компоненты,которые ранее были доступны только в библиотеках третьих фирм:
табличные элементы управления, закладки, многостраничные записные книжки. Все
объектыразбиты на страницы по своей функциональности и представленны в палитре
компонент.
VCL содержит специальный объект, предоставлющий интерфейс графических устройств
Windows, ипозволяющий разработчикам рисовать, не заботясь об обычных для
программирования в среде Windows деталях.
Ключевой особенностью Delphi является возможность не только использовать
визуальныекомпоненты для строительства приложений, но и создание новых
компонент. Такая возможность позволяет разработчикам не переходить в другую
среду разработки, анаоборот, встраивать новые инструменты в существующую среду.
Кроме того, можно улучшить или полностью заменить существующие по умолчанию в
Delphi компоненты.
Здесь следует отметить, что обычных ограничений, присущих средам визуальной
разработки, вDelphi нет. Сам Delphi написан при помощи Delphi, что говорит об
отсутствии таких ограничений.
Классы объектов построены в виде иерархии, состоящей из абстрактных,
промежуточных, иготовых компонент. Разработчик может пользоваться готовыми
компонентами, создавать собственные на основе абстрактных или промежуточных, а
такжесоздавать собственные объекты. Рассмотрим некоторые из них.
TMainMenu позволяет поместить главноеменю в программу. При помещении TMainMenu
на форму это выглядит, как просто иконка. Иконки данного типа называют
невизуальным компонентом, посколькуони невидимы во время выполнения программы.
TPopupMenu позволяет создаватьвсплывающие меню. Этот тип меню появляется по
щелчку правой кнопки мыши на объекте, к которому привязано данное меню. У всех
видимых объектов имеетсясвойство PopupMenu, где и указывается нужное меню.
Создается PopupMenu аналогично главному меню.
TLabel служит для отображения текста наэкране. Можно изменить шрифт и цвет
метки, если дважды щелкнуть на свойство Font в Инспекторе Объектов. Это легко
сделать и во время выполнения программы,написав всего одну строчку кода.
TEdit - стандартный управляющий элементWindows для ввода. Он может быть
использован для отображения короткого фрагмента текста и позволяет пользователю
вводить текст во время выполненияпрограммы.
TMemo - иная форма TEdit. Подразумеваетработу с большими текстами. TMemo может
переносить слова, сохранять в ClipBoard фрагменты текста и восстанавливать их, и
другие основные функции редактора.TMemo имеет ограничения на объем текста в
32Кб, это составляет 10-20 страниц (есть подобные компоненты, где этот предел
снят).
TButton позволяет выполнить какие-либодействия при нажатии кнопки во время
выполнения программы. В Delphi все делается очень просто. Поместив TButton на
форму, по двойному щелчку можносоздать заготовку обработчика события нажатия
кнопки.
TCheckBox отображает строку текста смаленьким окошком рядом. В окошке можно
поставить отметку, которая означает, что что-то выбрано.
TRadioButton позволяет выбрать толькоодну опцию из нескольких.
TListBox нужен для показа прокручиваемогосписка. Классический пример ListBox’а в
среде Windows - выбор файла из списка в пункте меню File Open многих приложений.
Названия файлов или директорий инаходятся в ListBox’е.
TComboBox во многом напоминает ListBox,за исключением того, что позволяет водить
информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox,
но наиболее популярен спадающийвниз (drop-down combo box), который можно видеть
внизу окна диалога выбора файла.
TScrollbar - полоса прокрутки, появляетсяавтоматически в объектах
редактирования, ListBox’ах при необходимости прокрутки текста для просмотра.
TGroupBox используется для визуальныхцелей и для указания Windows, каков порядок
перемещения по компонентам на форме (при нажатии клавиши TAB).
TRadioGroup используется аналогичноTGroupBox, для группировки объектов
TRadioButton.
TPanel - управляющий элемент, похожий наTGroupBox, используется в декоративных
целях. Чтобы использовать TPanel, можно просто поместить его на форму и затем
положите другие компоненты на него.Теперь при перемещении TPanel будут
передвигаться и эти компоненты. TPanel используется также для создания линейки
инструментов и окна статуса.
TBitBtn - кнопка вроде TButton, однако наней можно разместить картинку (glyph).
TBitBtn имеет несколько предопределенных типов (bkClose, bkOK и др), при выборе
которых кнопка принимает соответствующийвид. Кроме того, нажатие кнопки на
модальном окне приводит к закрытию окна с соответствующим модальным
результатом.
TSpeedButton - кнопка для создания панели быстрого доступа ккомандам (SpeedBar).
Пример - SpeedBar слева от Палитры Компонент в среде Delphi. Обычно на данную
кнопку помещается только картинка (glyph).
TTabSet - горизонтальные закладки. Обычно используется вместе с TNoteBook для
созданиямногостраничных окон. Название страниц можно задать в свойстве Tabs.
TNoteBook - используется для созданиямногостраничного диалога, на каждой
странице располагается свой набор объектов. Используется совместно с TTabSet.
TTabbedNotebook - многостраничный диалогсо встроенными закладками, в данном
случае - закладки сверху.
TOutline - используется для представленияиерархических отношений связанных
данных. Например - дерево директорий.
TStringGrid - служит для представлениятекстовых данных в виде таблицы. Доступ к
каждому элементу таблицы происходит через свойство Cell.
TDrawGrid - служит для представленияданных любого типа в виде таблицы. Доступ к
каждому элементу таблицы происходит через свойство CellRect.
TImage - отображает графическоеизображение на форме. Воспринимает форматы BMP,
ICO, WMF. Если картинку подключить во время дизайна программы, то она
прикомпилируется к EXE файлу.
TShape - служит для отображения простейших графических объектов на форме:
окружность, квадрат и т.п.
TBevel - элемент для рельефного оформления интерфейса.
THeader - элемент оформления для создания заголовков с изменяемыми размерами для
таблиц.
TScrollBox - позволяет создать на формепрокручиваемую область с размерами
большими, нежели экран. На этой области можно разместить свои объекты.
TTimer - таймер, событие OnTimer периодически вызывается через промежуток
времени, указанный в свойствеInterval. Период времени может составлять от 1 до
65535 мс.
TPaintBox - место для рисования. Вобработчики событий, связанных с мышкой
передаются относительные координаты мышки в TPaintBox, а не абсолютные в форме.
TFileListBox - специализированныйListBox, в котором отображаются файлы из
указанной директории (св-во Directory). На названия файлов можно наложить маску,
для этого служит св-воMask. Кроме того, в св-ве FileEdit можно указать объект
TEdit для редактирования маски.
TDirectoryListBox - специализированныйListBox, в котором отображается структура
директорий текущего диска. В св-ве FileList можно указать TFileListBox, который
будет автоматически отслеживатьпереход в другую директорию.
TDriveComboBox - специализированный ComboBox для выбора текущего диска. Имеет
свойство DirList, в котором можноуказать TDirectoryListBox, который будет
отслеживать переход на другой диск.
TFilterComboBox - специализированныйComboBox для выбора маски имени файлов.
Список масок определяется в свойстве Filter. В свойстве FileList указывается
TFileListBox, на которыйустанавливается маска.
С помощью последних четырех компонент (TFileListBox, TDirectoryListBox,
TDriveComboBox, TFilterComboBox) можнопостроить свой собственный диалог выбора
файла, причем для этого не потребуется написать ни одной строчки кода.
TOLEContainer - контейнер, содержащий OLE объекты. Поддерживается OLE 2.02
TDDEClientConv,TDDEClientItem,TDDEServerConv, TDDEServerItem - 4 объекта для
организации DDE. С помощью этих объектов можно построить приложение как
DDE-сервер, так и DDE-клиент.
TChartFX - деловая графика. Компонентпозволяет строить всевозможные графики и
гистограммы.
1.7.5Формы, модули и метод разработки “Two-Way Tools”
Формы - это объекты, в которые помещаются другие объекты для создания
пользовательскогоинтерфейса любого приложения. Модули состоят из кода, который
реализует функционирование приложения, обработчики событий для форм и их
компонент.
Информация о формах хранится в двух типах файлов - .dfm и .pas, причем первыйтип
файла - двоичный - хранит образ формы и ее свойства, второй тип описывает
функционирование обработчиков событий и поведение компонент. Оба
файлаавтоматически синхронизируются Delphi, так что если добавить новую форму
проект, связанный с ним файл .pas автоматически будет создан, и его имябудет
добавлено в проект.
Такая синхронизация и делает Delphi two-way-инструментом, обеспечивая
полноесоответствие между кодом и визуальным представлением. Как только
добавляется новый объект или код, Delphi устанавливает т.н. “кодовую
синхронизацию”между визуальными элементами и соответствующими им кодовыми
представлениями.
Two-way tools - однозначное соответствие между визуальным проектированием и
классическим написанием текстапрограммы Это означает, что разработчик всегда
может видеть код, соответствующий тому, что он построил при помощи визуальных
инструментов и наоборот.
Визуальный построитель интерфейсов (Visual User-interface builder) дает
возможность быстросоздавать клиент-серверные приложения визуально, просто
выбирая компоненты из соответствующей палитры. В процессе построения приложения