Создание графических приложений.
Задание на программирование:
Разработать: редактор, позволяющий рисовать с помощью мыши на экране графические примитивы: отрезок, эллипс, прямоугольник.
Рисунок 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!