Ово је једноставан пример како се може реализовати цртање по форми користећи миш. Притиском на леви тастер миша и повлачењем по форми, миш оставља траг.

КОД

var
Form1: TForm1;   pozX,pozY:integer;
implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
pozX:=x;
pozY:=y;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
canvas.Pen.Width:=2;
if shift=[ssleft] then
begin
canvas.MoveTo(pozx,pozy);
canvas.LineTo(x,y);
pozx:=x;
pozy:=y;

end;
end;
end.

ове глобалне променљиве представљају координате курсора.

.

када се притисне леви тастер миша тачке pozX и pozY добијају вредности тренутне позиције миша у тренутку када смо притиснули леви тастер миша (почетна тачка од које се црта линија)

.

.

.

– провера да ли је притиснут леви тастер миша
– позиционирање пера на координате   pozX и pozY
– цртање линије до тренутне позиције курсора (x,y)
– pozX и pozY сада добијају нову вредност, чиме се постиже да се исцртава непрекидна линија која прати координате миша докле год је притиснут леви тастер

Advertisements