Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

6.3.3 Компоненты

Суть визуального программирования заключается в том, что вы из набора компонентов библиотеки LCL переносите на форму нужные вам визуальные компоненты, настраиваете их под собственные потребности и формируете ди-

зайн вашей программы. Компоненты также как и форма являются некоторыми графическими объектами. И каждый компонент реализован в виде класса. На-

пример, компонент TLabel (надпись) реализован в виде класса. Название ком-

понента соответствует имени класса. То есть когда мы ведем речь о компоненте

TLabel, мы подразумеваем класс TLabel.

Компоненты бывают видимыми и невидимыми. При проектировании фор-

ма выступает в роли контейнера для компонентов. При этом на форму можно разместить и невидимые компоненты.

Свойства и методы компонентов также отображаются в инспекторе объек-

тов. Чтобы увидеть их, достаточно выделить требуемый компонент на форме.

6.3.4 Обработчики событий

Свойства объекта определяют его внешний вид (размер, шрифт, цвет и т.д.), а совокупность событий определяют поведенческую сторону объекта. Об-

работчиком события является процедура, которая выполняет те или иные дей-

ствия в ответ на наступление события. Т.е. с помощью этой процедуры (обра-

ботчика события) реализуется реакция объекта на событие, например на щел-

чок мыши.

Таким образом, задача программиста сводится к тому, чтобы определить необходимые свойства объектов в его приложении и написать обработчики тех событий, на которые должен реагировать тот или иной объект приложения.

Инспектор объектов позволяет определить обработчики событий, на кото-

рые должна реагировать форма или ее компоненты. Во вкладке События в ле-

481

6.3 Визуальное программирование в среде Lazarus

____________________________________________________________________

вой колонке приведен список всех событий для данного объекта. Не обязатель-

но разрабатывать обработчики для всех событий. Как мы уже отмечали, если для некоторого события отсутствует его обработчик, то приложение просто не будет реагировать на это событие. Создайте новый проект в Lazarus. В инспек-

торе объектов откройте вкладку События. Выберите событие OnCreate, рис.

6.16. Это событие возникает при создании окна приложения. Щелкните по кнопке с троеточием. В редакторе кода появится заготовка кода процедуры об-

работчика данного события, рис. 6.17.

Рис. 6.16. Вкладка "События"

Рис. 6.17. Заготовка кода процедуры обработчика события

482

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

Обратите внимание, Lazarus автоматически присвоил процедуре имя

FormCreate, присоединив к нему имя класса TForm1. В инспекторе объектов также появилось имя процедуры FormCreate – обработчика события

OnCreate.

Перейдите в редактор исходного кода, в обработчике события

FormCreate введите следующий код:

Form1.Caption:='Моѐ первое графическое приложение';

Запустите свое приложение. Вы увидите, что в строке заголовка окна вме-

сто стандартного Form1, появился ваш текст.

Из этого примера мы можем сделать один очень важный вывод. Оказыва-

ется свойства объекта можно изменять динамически во время выполнения при-

ложения. Для доступа к свойству объекта необходимо указать имя этого объек-

та (в нашем случае формы Form1) и через точку имя свойства (Caption).

Далее, в инспекторе объектов выберите событие OnClick. В обработчике события введите код:

Form1.Caption:= 'Зачем ты на меня нажал?';

Запустите приложение. Щелкните мышью по окну вашего приложения. Вы видите, что в строке заголовка окна текст меняется. Т.е. можно воочию убе-

диться, что ваше приложение на самом деле реагирует на нажатие мыши.

Выберите теперь, например, событие OnDblClick. Если вы раскроете раскрывающийся список, то вы увидите список уже имеющихся обработчиков событий, рис. 6.18.

483

6.3 Визуальное программирование в среде Lazarus

____________________________________________________________________

Рис. 6.18. Список уже имеющихся обработчиков событий

Если вам нужно, чтобы ваше приложение реагировало на какое-то событие точно таким же образом, как и на некоторое другое событие, и обработчик это-

го события уже имеется, то вы можете просто выбрать из списка нужный вам обработчик события. В нашем примере для события OnDblClick вы можете выбрать обработчик FormClick или FormCreate. Этим можно избежать неоправданного дублирования кода.

6.3.5 Простейшие компоненты

Рассмотрим теперь некоторые компоненты библиотеки LCL Lazarus. Дос-

туп к компонентам в Lazarus организован через палитру компонентов, рис. 6.19.

Рис. 6.19. Палитра компонентов Lazarus

Палитра компонентов состоит из страниц или вкладок, в которых и нахо-

дятся компоненты, сгруппированные по некоторому признаку. На рисунке 6.19

показана страница Standard, в которой расположены наиболее часто исполь-

зуемые, так называемые стандартные компоненты. По названию страницы можно понять, какие компоненты находятся в той или иной вкладке. Например,

ясно, что на странице Dialogs находятся компоненты для организации диало-

484

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

га с пользователем.

В соответствии с предназначением книги, мы не будем рассматривать все компоненты (для этого необходимо писать новую книгу примерно такого же объема, что и эта!).

6.3.5.1. Компонент TLabel

Этот компонент, его еще называют меткой или надписью, позволяет ото-

бразить некоторый текст на экране. Основные свойства этого компонента:

Name – имя в приложении, используется для доступа к компоненту.

Caption – текст, который будет отображаться в поле компонента.

Color – цвет фона надписи.

Font – это свойство является составным. С помощью этого свойства можно настроить параметры шрифта, для отображения текста надписи: цвет букв

(Color), размер шрифта (Size), название шрифта (Name) и т.д.

Alignment – выравнивание текста надписи. Здесь taLeftJustify – по левому краю, taCenter – по центру, taRightJustify – по правому краю.

Height – высота надписи в пикселах.

Width – ширина надписи в пикселах.

AutoSize – автоматическое изменение размера надписи в зависимости от длины текста. True – вертикальный и горизонтальный размер надписи зависит от длины текста, False – размеры компонента устанавливаются вручную, вы-

равнивание текста производится свойством Alignment.

WordWrap – если имеет значение True, то производится перенос текста по словам, т.е. текст надписи отображается в несколько строк, иначе текст выво-

дится в одну строку.

Visible – определяет видимость компонента во время выполнения прило-

жения. По умолчанию имеет значение True, т.е. компонент виден в момент

485

Смотрите также:

11 Горм +
113
14
1433
1511
1632
199
204
2714
2N4264RE