Лаби IT - ЛабаDelphi2
Лабораторна робота №2. Робота в DELPHI
Робота з буфером обміну, малювання мишею,
контекстне меню, компонент Memo
Завдання 1 Навчимося працювати з буфером обміну поміщаючи та витягуючи звідти графічні зображення.
Скиньте на форму такі компоненти: Image1 іImage2 (палітраAdditional), OpenDialog1 (палітраDialogs), і навіть 3 кнопкиButton, із заголовками ними оскільки зазначено на рис. 1.

Призначення кнопок цієї програми буде наступним:
Обробник клацання Button1 – Відкриє картинку в Image1.
Обробник клацання Button2 - Копіює картинку в буфер обміну - об'єкт Clipboard.
Обробник клацання Button3 – Завантажить картинку в Image2.
Також для обох компонентів Image за допомогою ObjectInspector встановіть їх властивість Stretch у значення True, щоб малюнок підлаштовувався під їх розмір.

В обробнику клацання Button1 напишіть таке:
opendialog1.execute; //запустити діалог вибору файлів
В обробнику клацання Button2 напишіть таке:
// Метод Assignкопіює в буфер обміну графічні
//Об'єкти класів TGraphic,TBitmap,TPictureі т.д.
І нарешті в обробнику клацання Button3 напишіть таке:
Запустіть програму. Спочатку клацніть на Button1, у діалозі, що з'явився, виберіть який - небудь графічний файл з розширенням *.bmpабо *.jpg. Після цього зображення з нього відобразиться на вашій формі в Image1. Далі клацніть Button2 – скопіювавши картинку з Image1 в буфер. І як завершальний етап зробіть клацання на Button3 - помістивши зображення з буфера в Image2. Програма повинна працювати правильно.Поверніться в режим програмування (РП).
Завдання 2.1 Малювання мишею.
Досить часто цікавийзвичайне малювання мишею на формі, причому з допомогою малюнка іноді потрібно виділити, деяку область на формі, поруч із кнопкою тощо. Покажемо, що малювання на формі в Delphi досить просте завдання.
Створіть новий проект. Визначимо глобальну змінну булевського типу під назвою Drug. Вона матиме значення “Істина” якщо рух є і “Брехня” інакше.

Встановіть початкове значення Drug: = False (руху немає) в обробнику події on Create для форми.
Щоб організувати операцію «клацніть і перетягни»потрібно 3 послідовні події і відповідно 3 обробники цих подій.
Перша подія “Натиснути кнопку миші”переходимо в обробник подіїonMouseDownнатискання кнопки миші для форми, пишемо:
Drug: = True; // встановлюємо що рух має бути
Canvas.MoveTo(X,Y); // встановлюємо координати початку малювання
Зверніть увагу, що в цьому обробнику
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Передаються XіY: типу Integer – це координати поточного покажчика миші на формі.
Всі графічні операції виконуються в контексті властивості Canvas, що міститься в більшості компонентів. Canvas є повноцінним об'єктом, який має свої методи (тобто функції та процедури).
Метод MoveTo(X,Y) передаються координати поточного покажчика миші на формі, сам даний метод встановлює координати, з яких почнеться малювання на формі>
Друга подія “Рух миші”переходимо в обробник подіїonMouseMoveруху миші на формі, і пишемо там наступне:
if Drug=true then Canvas.LineTo(X,Y)
Третя подія “Відпускаємо кнопку миші”, і переходимо вобробник події
onMouseUpформи відпускання кнопки миші і пишемо там наступне:
Drug: = False; // встановлюємо що рухи не повинно бути
Запустіть програму. Переконайтеся у правильності її роботи.Поверніть режим програмування.
Завдання 2.2 Змінюватимемо товщину і колір ліній, що малюються мишкою
Тут же скиньте на форму кнопку Button1 та наступні компоненти: