Проект «Изменение свойств формы» - Lazarus

Создадим приложение «Изменение свойств формы». В этой работе мы познакомимся с новыми объектами и закрепим понятия «свойства», «методы», «события».

Визуальный интерфейс

Запустите среду Lazarus и сохраните файлы нашего проекта в отдельной папке ‘demo_form’. Сами файлы проекта можете сохранить под именем по умолчанию.

Разместите на форме два объекта класса TGroupbox. Как следует из названия класса, GroupBox служит для группировки нескольких объектов в единой панели.

В обеих панелях разместим по четыре кнопки.

Разместите на форме один объект класса TRadioGroup, служащий для размещении на форме сразу нескольких радиокнопок (переключателей). Сами радиокнопки мы создадим позднее.

В нижней части формы добавим три кнопки.

С помощью окна Инспектор объектов выделяем объекты и меняем их свойства согласно нижеприведенной таблице:


Объект Свойство Значение свойства
форма Form1 Надпись caption Изменение свойств формы
форма Form1 Расположение формы на экране –Position PoDesktopCenter (форма после запуска будет появляться в центре экрана)
панель GroupBox1 Надпись caption Движение
кнопка Button1 Надпись caption Влево
кнопка Button2 Надпись caption Вправо
кнопка Button3 Надпись caption Вверх
кнопка Button4 Надпись caption Вниз
панель GroupBox2 Надпись caption Размеры
кнопка Button5 Надпись caption + ширина
кнопка Button6 Надпись caption - ширина
кнопка Button7 Надпись caption + высота
кнопка Button8 Надпись caption - высота
Группа переключателей RadioGroup1 Надпись caption Выбор цвета
Группа переключателей RadioGroup1 Список кнопок Items
Группа переключателей RadioGroup1 Переключатель (элемент) по умолчанию ItemIndex. 0 (Комментарий: 0 — первый элемент, 1 — второй элемент и т.д.)
кнопка Button9 Надпись caption Сбросить настройки
кнопка Button10 Надпись caption О программе
кнопка Button11 Надпись caption Выход
В результате наша форма вместе с другими объектами на ней примет следующий вид:

Программирование процедур-обработчиков нажатий

1. Напишите процедуру-обработчик нажатия по кнопке Button1 (движение влево). Для этого в окне инспектора объектов выбираем закладку События и находим событиеOnClick (это и есть нажатие по кнопке).

Чтобы заставить форму двигаться влево, необходимо уменьшить его координату левого верхнего угла — свойство left. Договоримся, что при каждом нажатии по этой кнопке, свойство left будеть уменьшаться на 50 пикселей.

form1.Left:=form1.Left-50;

Аналогично напишите обработчик для кнопки Button2 (движение формы вправо).

2. За положение формы по вертикали отвечает свойство Top – координата y верхнего левого угла формы. Если мы хотим, чтобы форма двигалась вверх, необходимо уменьшать это свойство, т.к. экранная ось у направлена вниз. Изменять положение по высоте будем также на 50 пикселей.

Напишите обработчики кнопок Button3 и Button4 (вверх и вниз соответственно).

3. Напишите процедуру увеличения ширины формы на 70 пикселей при каждом нажатии по кнопке Button5 (+ширина). За ширину формы отвечает свойство width:

form1.Width:=form1.Width+70;

Аналогично напишите код процедуры уменьшения ширины формы.

За высоту формы отвечает свойство height.

4. Теперь напишем процедуру выбора цвета формы. За цвет формы отвечает свойство Color.

Выберите событие Onclick объекта RadioGroup1 и напишите следующий код процедуры:

case radiogroup1.ItemIndex of
  0: form1.Color:=clWhite;
  1: form1.Color:=clYellow;
  2: form1.Color:=clGreen;
  3: form1.Color:=clRed;
  4: form1.Color:=clBlue;
  5: form1.Color:=clBlack;
end;

Как видно, для выбора из шести вариантов цветов используется конструкция «Выбор» (case). Выбор зависит от номера радиокнопки в списке переключателей (номер — ItemIndex, нумерация производится с нуля).

5. Напишем процедуру-обработчик, выводящую сообщение об авторе программы. Это событие OnClick кнопки Button10 (о программе). Для вывода сообщения используется процедура showmessage(‘текст сообщения’). Перевод «ShowMessage»на русский язык — «показать сообщение»

showmessage(‘Мегапрограмма 1.0 Автор – Пупкин Вася, 2012 ©’)

6. Напишем процедуру выхода из программы:

application.Terminate;

Перевод на русский язык: приложение.завершение

7. Кнопку Button9 (сбросить настройки) запрограммируйте так, чтобы при нажатии восстанавливались размер, положение на экране, цвет формы.

Покажите результат учителю.