- •View Project Manager
- •Interface
- •Implementation
- •Visible:boolean
- •VarType(V: variant):integer;
- •VarToStr(V:variant):string;
- •VarArrayCreate(bounds:array of integer; varType:integer):variant;
- •8 Вариантов
- •16 Вариантов
- •IsMasked:boolean
- •Image1.Picture.LoadFromFile(‘ ‘);
- •View/Debug Windows/Breakpoints
- •Interval:integer
- •Image1.Height
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Implementation
- •ImageEditor (Tools)
- •Image Editor
- •I (Long Integer) 2147483647
- •Data Controls
- •Is not null
- •JavaScript
- •Var myName
- •Function()
Interface
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; {индикатор состояния мыши}
