Види навчальної діяльності
Обговорюємо
- Для чого використовують компонент Shape в середовищі програмування Lazarus?
- Як змінюють властивості геометричних фігур, побудованих за допомогою компонента Shape?
Діємо разом
- Вправа 1. У середовищі програмування Lazarus створіть проект, у якому, коли натискають мишку на зображенні круга, він зафарбовується в колір, обраний у групі перемикачів Колір, а коли натискають мишкою зображення квадрата, - зафарбовується обраним кольором та застосовується стиль заливки, який обирають у групі Заливка.
- Завантажте середовище Lazarus і створіть новий проект.
- Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям:
- Для додавання на форму фігур скористайтеся компонентом Shape:
- Створіть процедуру опрацювання події натискання кнопкою миші на першій фігурі. Для цього оберіть у вікні Інспектора об'єктів компонент Shape1, на вкладці Події двічі натисніть у клітинці праворуч (...) від OnMouseDown
і введіть команди у вікні редактора коду:
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if RadioGroup1.ItemIndex = 0 then Shape1.Brush.Color:=clRed else if RadioGroup1.ItemIndex = 1 then Shape1.Brush.Color:=clBlue else if RadioGroup1.ItemIndex = 2 then Shape1.Brush.Color:=clYellow else Shape1.Brush.Color:=clGreen; end;
- Створіть аналогічно процедуру опрацювання події натискання кнопкою миші на другій фігурі. Використайте такий програмний код:
procedure TForm1.Shape2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if RadioGroup1.ItemIndex = 0 then Shape2.Brush.Color:=clRed else if RadioGroup1.ItemIndex = 1 then Shape2.Brush.Color:=clBlue else if RadioGroup1.ItemIndex = 2 then Shape2.Brush.Color:=clYellow else Shape2.Brush.Color:=clGreen; if RadioGroup2.ItemIndex = 0 then Shape2.Brush.Style:=bsHorizontal else if RadioGroup2.ItemIndex = 1 then Shape2.Brush.Style:=bsVertical else Shape2.Brush.Style:=bsSolid; end;
- Проаналізуйте програмний код опрацювання подій для обох фігур. Запустіть проект на виконання. Перевірте, чи змінюють свої властивості геометричні фігури.
- Завершіть роботу з проектом і середовищем програмування.
- Вправа 2. У середовищі програмування Lazarus розробіть проект Лінії, у якому на формі будуть малюватися лінії за допомогою протягування мишею: початок лінії буде розташовано в позиції, в якій натиснули кнопку миші, а кінець – де відпустили кнопку миші.
- Завантажте середовище Lazarus і створіть новий проект.
- Створіть процедуру опрацювання події натиснули кнопкою миші. Для цього оберіть у вікні Інспектора об'єктів компонент Form1, на вкладці Події двічі натисніть у клітинці праворуч (...) від OnMouseDown
і введіть команди у вікні редактора коду
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin DownM := True; Form1.Canvas.MoveTo(X,Y); end;
- У вікні редактора коду запишіть програмний код для оголошення змінної логічного типу DownM, яка передаватиме стан натиснення миші в кожну процедуру опрацювання події
Зверніть увагу, що ми записуємо її у програмний код до опису процедури опрацювання подій:DownM: Boolean;
- У програмний код (аналогічно, як у пункті 2) запишіть процедури опрацювання подій для форми OnMouseUp - відпущена кнопка миші і OnMouseMove - переміщення миші:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin DownM := False; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if DownM = True then begin Form1.Canvas.Pen.Color:=clFuchsia; Form1.Canvas.Pen.Width:=5; Form1.Canvas.Pen.Style:=psDot; Form1.Canvas.LineTo(X,Y) end end;
- Проаналізуйте програмний код створених процедур, зверніть увагу на використання властивості Canvas - властивості компонента Form, який у свою чергу є об'єктом, що має свої методи і властивості.
- Запустіть проект на виконання. Спробуйте намалювати лініями своє ім'я.
- Завершіть роботу з проектом і середовищем програмування.
- Поміркуйте, як створити проект, у якому можна продемонструвати різні стилі заливки фігур. Реалізуйте цей проект у середовищі програмування Lazarus.
Виконуємо самостійно
- Завдання. Розробіть проект Прямокутник, у якому в текстові поля чи у список даних вводять пари координат чисел, натискають кнопку Побудувати й отримують прямокутник, побудований за вказаними значеннями координат. Розкоментуйте рядок з кодом і проаналізуйте зміни у виконанні програми. Орієнтовний зразок інтерфейсу
і програмний код, який можна використати у проекті:
procedure TForm1.Button1Click(Sender: TObject); var x1, x2, y1, y2: integer; begin x1:=StrToInt(Edit1.Text); y1:=StrToInt(Edit2.Text); x2:=StrToInt(Edit3.Text); y2:=StrToInt(Edit4.Text); Form1.Canvas.Brush.Color:=clYellow; Form1.Canvas.Rectangle(x1,y1,x2,y2); // Form1.Canvas.FillRect(x1,y1,x2,y2); end;
Домашнє завдання
- Опрацювати підручник: §27 с. 183-188