マウスの移動軌跡を描画する



このサンプルを実行すると下記のようにForm1上に落書きが出来ます。




■ソースは下記のようになります。

■マウスの左ボタンを押しながら移動した時に線を描画する処理
Var
Flag :Boolean;//マウス左ボタンが押されたかのフラグ

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin

 If Button = mbLeft then Flag := False;

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin

 if Flag = True then Form1.Canvas.LineTo(X, Y);

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin

 If Button = mbLeft then
 
begin

  // 現在の描画位置を座標(X, Y)に変更
  Form1.Canvas.MoveTo(X, Y);
  Flag := True;


 end;

end;



Delphi Tipsのページへ



ホーム