Лабораторная работа 5. Рисование мышью в форме
Исполнение рисунка в технике «мышь» поможет закрепить отдельные навыки программирования и познакомиться с новыми конструкциями языка.
Задание 1.
Откройте новый проект и разместите на форме компонент Image1 (вкладка Additional). Размеры можно увеличить, это будет импровизированная чертежная доска. Добавьте на форму кнопку Очистить для удаления неудачных рисунков. Два раза щелкнете по кнопке и в заготовке добавьте операторы.
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.FillRect(ClientRect); //заполняет прямоугольную область белым цветом
end;
Здесь Canvas – набор средств рисования, связанных с компонентом Image1.
Задание 2.
Технология рисования напоминает технологию перетаскивания, процедуры реакции относятся к компоненту Image1. Из большого набора чертежных средств, имеющихся в Canvas используем следующие:
MoveTo(x,y) –переместить перо в точку с координатами(х,у), при этом перо не оставляет следа.
LineTo(x,y) – передвинуть перо в точку с координатами (х,у), рисуя при этом прямую линию.
Текст процедур вместе с объявлением глобальной переменной drag приведен ниже.
Var drag: boolean=false;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drag:=true;
Image1.Canvas.MoveTo(x,y);
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if drag then Image1.Canvas.LineTo(x,y);
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drag:=false;
end;
Задание 3.
Добавим кнопку Сохранить и со вкладки Dialogs компонент SaveDialog1 и установим для его свойств такие значения:
Свойство Значение
Default Ext BMP
Options.ofHideReadOnly True
Options.ofOverwritePrompt True
Options.ofNoReadOnlyReturn True
Title Save File
Для того чтобы открыть окно Filter Editor (Редактор фильтра), дважды щелкните на свойстве Filter.
Заполните две первые строки в колонке Filter Name (Имя фильтра) названиями фильтров: растровое изображение и All files, а в колонке Filter (Фильтр) введите соответствующие фильтры: *.bmp и *.*.
Двойным щелчком откроем процедуру Button2Click и добавим следующий код.
procedure TForm1.Button2Click(Sender: TObject);
begin
if SaveDialog1.Execute then
Image1.Picture.SaveToFile(SaveDialog1.FileName);
end;
Задание 4.
Самостоятельно организуйте возможность открытия рисунков формата jpg. После заполнения свойства фильтр, необходимо подключить модуль Jpeg.
Задание 5.
Для изменения цвета формы используем стандартную функцию RGB. Расположим вдоль одной линии в форме компоненты Label1, Edit1, ScroolBar1 (вкладка Standard). Выберем для надписи Label1 красный цвет и в ее заголовок большими буквами напишем КРАСНЫЙ. Полосу прокрутки ScroolBar1растянем по горизонтали. Каждому положению бегунка соответствует определенная позиция (Position). Установим диапазон этих значений Min=0, Max=255. Выделяем все три компонента и создаем еще две такие группы, используя буфер обмена. Изменяем надписи Label2 на ЗЕЛЕНЫЙ, Label3- СИНИЙ. Двойным щелчком по ScroolBar1 открываем заготовку процедуры задаем локальные переменные и вносим код процедуры.
var
red,green,blue:byte; //для определения значение от 0 до 255
c:TColor; //для задания цвета формы
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
red:=ScrollBar1.Position; //фиксируем значения позиций ползунков
green:=ScrollBar2.Position;
blue:=ScrollBar3.Position;
Edit1.Text:=IntToStr(red); //показываем их в текстовом поле
Edit2.Text:=IntToStr(green);
Edit3.Text:=IntToStr(blue);
c:=RGB(red,green,blue); //синтезируем цвет
Form1.Color:=c; //устанавливаем новый цвет формы
Form1.Caption:='Код цвета'+IntToStr(c);
end;
Создайте обработчики событий для ScrollBar2, ScrollBar3. запустите программу и попробуйте управлять цветом формы. В дальнейшем можно создавать цвет, используя функцию RGB, например
Label.Color:=RGB(48,123,211);
Задание 6.
Самостоятельно создайте форму, установите несколько компонентов, определите их цвет, используя функцию RGB.
- 1. Теоретические основы объектно – ориентированного программирования 5
- 2. Использование системы программирования Delphi для создания Windows-приложений 9
- 3. Лабораторный практикум 27
- Введение
- 1. Теоретические основы объектно – ориентированного программирования
- 1.1.Объектная модель и ее элементы.
- 1.2.Основные понятия объектно-ориентированного подхода - объект и класс.
- 1.3.Методы построения классов.
- 2. Использование системы программирования Delphi для создания Windows-приложений
- 2.1. Интерфейс интегрированной среды разработки Delphi
- 2.2. Синтаксические правила языка Object Pascal
- 2.3. Создание и структура пользовательских приложений в среде Delphi
- 2.4. Структура модуля (*.Pas)
- 2.5. Создание формы и написание откликов на события
- 1) Компоновка формы и задание свойств компонентов
- 2) Написание отклика на событие
- 2.6. Компиляция и исполнение программы
- 2.7. Ввод и вывод данных. Функции преобразования типов данных
- 3. Лабораторный практикум Лабораторная работа 1. Разработка приложения Калькулятор
- Лабораторная работа 2. Использование курсоров в приложениях Windows.
- Лабораторная работа 4. Создание простого текстового редактора.
- Лабораторная работа 5. Рисование мышью в форме
- Лабораторная работа 6. Применение графических компонентов
- Лабораторная работа 7.Создание числовых изображений
- Лабораторная работа 8. Создание текстурных заливок
- Лабораторная работа 9. Поддержка справочной системы. Создание всплывающих подсказок.
- Лабораторная работа 10.Создание видеопроигрывателя
- Лабораторная работа 12.Создание браузера
- Лабораторная работа 13. Работа с внешним файлом.
- Лабораторная работа 14. Работа с базами данных.
- Лабораторная работа 15. Создание многооконных приложений.
- Литература Основная литература
- Дополнительная литература