Библиотека визуальных компонент

Библиотека визуальных компонент. Компоненты, используемые при разработке в 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 дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры.

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. 4, 22 . 1.7.6