我想用 鼠标在PaintBox上拖动画直线。
我是这样写的:
procedure TAFXMap.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
PB_LineMode := True;
PaintBox.Canvas.MoveTo(X,Y);
end;procedure TAFXMap.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If PB_LineMode = True Then
PaintBox.Canvas.LineTo(X,Y);
end;procedure TAFXMap.PaintBoxMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
PaintBox.Canvas.LineTo(X,Y);
PB_LineMode := False;
end;但这样画出不是直线,而且鼠标轨迹线,高手指点指点,怎么改呢??
我是这样写的:
procedure TAFXMap.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
PB_LineMode := True;
PaintBox.Canvas.MoveTo(X,Y);
end;procedure TAFXMap.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If PB_LineMode = True Then
PaintBox.Canvas.LineTo(X,Y);
end;procedure TAFXMap.PaintBoxMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
PaintBox.Canvas.LineTo(X,Y);
PB_LineMode := False;
end;但这样画出不是直线,而且鼠标轨迹线,高手指点指点,怎么改呢??
但每画好一条线段,下一条线段出现交叉时,有可能会擦掉上一条线段的一些点