Создание графических приложений.



Задание на программирование:

Разработать: редактор, позволяющий рисовать с помощью мыши на экране графические примитивы: отрезок, эллипс, прямоугольник.

 

 

Рисунок 2 - Внешний вид графического редактора

 

Инструкция по выполнению

1. Запустите среду программирования Delphi 7.

2. Создайте новое приложение (VCL Form Application), сохраните его в рабочей папке. Для этого однократно щелкните левой клавишей мыши по кнопке  «Save (Ctrl+S)». Назовите файл, например, Lab_2.

3. В окне Object Inspector задайте свойства основной формы Form1, перечисленные в таблице 2.

4. Последовательно расположите на форме Form1(см. рис. 1) перечисленные в таблице 2 объекты и установите для них указанные значения свойств. Объекты сгруппированы на панели инструментов Delphi. По мере добавления объектов на форму регулярно выполняйте запуск программы (кнопка  «Run (F9)»). Немного поработайте с приложением, чтобы разобраться с особенностями его работы. Постарайтесь разобраться с назначением свойств объектов. Не забудьте по окончании экспериментов восстановить для всех объектов значения свойств из таблицы 2.

 

Таблица 2.

№ п.п. Объект: Класс\Группа инструментов Свойство Значение

1.

Form1: TForm

Caption Графический редактор
Position poScreenCenter
BorderStyle bsSizeable
Font\Size 9

2.

Panel1:

TPanel\Standard

Align alLeft
Caption  
3. Image1: TImage\Additional Align alClient

4.

RadioGroup1:

TRadioGroup\Standard

Align alTop
Caption Инструменты:
Items :Отрезок :Эллипс :Прямоугольник

5.

GroupBox1:

TGroupBox\Standard

Align alClient
Caption Палитра

6.

Label1:

TLabel\Standard

Caption Линия
Font\Style\fsUnderline True
7. ColorBox1: TColorBox\Additional Selected clBlack

8.

Label2:

TLabel\Standard

Caption Фон
Font\Style\fsUnderline True
9. ColorBox2: TColorBox\Additional Selected clWhite

10.

Label3:

TLabel\Standard

Caption Заливка
Font\Style\fsUnderline True
11. ColorBox3: TColorBox\Additional Selected clRed

5. По мере добавления объектов на форму регулярно выполняйте запуск программы. Немного поработайте с приложением, чтобы разобраться с его особенностями. Попробуйте, перетаскивая границы изменить размеры окна, сменить его положение, свернуть, максимизировать, развернуть до нормальных размеров, понажимать на кнопки, ввести в редактируемые элементы произвольную текстовую, числовую информацию и т.д. Закройте приложение. В приведенных таблицах постарайтесь заполнить графу Описание. С этой целью можно попытаться установить другие значения свойств, указанных в таблицах, запуская при этом программу и наблюдая за происходящими при этом изменениями. Не забудьте по окончании экспериментов установить для всех объектов значения свойств, указанные в таблице и сохранить приложение.

6. В раздел var модуля Unit1 добавьте описание переменныхDoLine A, B, C, D:

 

var

Form1: TForm1;

DoLine:Boolean=False;

A,B,C,D:Integer;

 

7. Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п. 7–9 инструкции по выполнению работы № 1). По мере добавления методов регулярно выполняйте запуск программы, исправляйте допущенные ошибки.

 

a. Метод ColorBox2Change – реакция на событие onChange, выбор цвета фона с помощью компонента ColorBox2):

 

procedure TForm1.ColorBox2Change (Sender: TObject);

begin

Image1.Canvas.Brush.Color:=ColorBox2.Selected;

Image1.Canvas.Pen.Style:=psClear;

Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);

Image1.Canvas.Pen.Style:=psSolid;

end;

b. Метод ColorBox3Change – реакция на событие onChange, выбор цвета заливки с помощью компонента ColorBox3):

 

procedure TForm1.ColorBox3Change(Sender: TObject);

begin

Image1.Canvas.Brush.Color:=ColorBox2.Selected;

end;

 

c. Метод Image1MouseDown– реакция на событие onMouseDown, нажатие левой клавиши мыши в области компонента Image1:

 

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

A:=X;

B:=Y;

C:=X;

D:=Y;

DoLine:=True;

Image1.Canvas.MoveTo(X,Y);

end;

d. Метод Image1MouseMove – реакция на события onMouseMove, изменение положения курсора мыши в области компонента Image1):

 

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

If DoLine then

Begin

  Image1.Canvas.Pen.Color:=ColorBox2.Selected;

  Image1.Canvas.Brush.Color:=ColorBox2.Selected;


Дата добавления: 2018-05-12; просмотров: 458; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!