Linie na PainBox'ie

0

Yo!

Może i banalne pytanie, ale jakoś nie wiem jak to zrobić[stuk] . Chodzi mi o to że jak klikam i przesuwam kursr, to on od punktu kliknięcia robi mi linie ( prostą ) do tego punktu na który klikne jeszcze raz. Coś takiego jak rysowanie lini w paintcie

Pozdro!

0

Obsługujesz MouseDown MouseMove i MouseUp.
Aby zapewnić sobie efekt "ciągnięcia" to w MouseMove musisz ścierać poprzednie i rysować nowe położenie.

Kris

0

unit graf1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
Poz1 : Tpoint ;
Poz2 : Tpoint ;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

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

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
canvas.pen.mode := pmnot ;
Canvas.MoveTo(poz1.x,poz1.y) ;
Canvas.Lineto(Poz2.x,Poz2.y) ;
Canvas.MoveTo(poz1.x,poz1.y) ;
Canvas.Lineto(x,y) ;
poz2 := point(x,y) ;
end;

end.

0

Dzięki za kod, tego mi było trzeba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1