Проект «Изменение свойств формы» - 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 (сбросить настройки) запрограммируйте так, чтобы при нажатии восстанавливались размер, положение на экране, цвет формы.
Покажите результат учителю.