Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Interface. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;




Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

Type

TForm1 = class(TForm)

Panel1: TPanel; {панель для размещения кнопки «Очистить»}

Button1: TButton; {кнопка «Очистить»}

Panel2: TPanel; {панель для размещения кнопок выбора цвета}

Image1: TImage; {экран для рисования}

Button2: TButton; {кнопка задания красного цвета}

Button3: TButton; {кнопка задания зеленого цвета}

Button4: TButton; {кнопка задания синего цвета}

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

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

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

procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Private

{ Private declarations }

Public

{ Public declarations }

end;

Var

Form1: TForm1;

drag: boolean; {логическая переменная для определения состояния мыши}

Implementation

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

Begin

Image1.Canvas.FillRect(ClientRect); {очистка экрана нажатием клавиши «Очистить»}

end;

 

procedure TForm1.Button2Click(Sender: TObject);

Begin

Image1.Canvas.Pen.Color := clRed; {установка красного цвета карандаша}

end;

 

procedure TForm1.Button3Click(Sender: TObject);

Begin

Image1.Canvas.Pen.Color := clGreen; {установка зеленого цвета карандаша}

end;

 

procedure TForm1.Button4Click(Sender: TObject);

Begin

Image1.Canvas.Pen.Color := clBlue; {установка синего цвета карандаша}

end;

 

procedure TForm1.FormCreate(Sender: TObject);

Begin

Image1.Canvas.Pen.Color := clBlack; {установка черного цвета карандаша при запуске программы}

Image1.Canvas.Pen.Width := 3; {установка толщины карандаша}

end;

 

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;

end.

 

Листинг 52

procedure TForm1.FormCreate(Sender: TObject);

Begin

Form1.DoubleBuffered := true;

end;

 

 

Рис. 45

 

 

Листинг 53

Var

Form1: TForm1;

x0, y0: integer; {переменные для запоминания предыдущего положения мыши в локальной системе объекта Image}

drag: boolean; {индикатор состояния мыши}


Поделиться:

Дата добавления: 2015-09-13; просмотров: 63; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты