S
suns
Unregistered / Unconfirmed
GUEST, unregistred user!
我再问这个问题我都觉的不好意思,我的程序快写完了,但到现在一个问题
还没有解决,就是我一打开那个在form的canvas上画东西的模块里还是有问题,
我鼠标移动时本想让它产生一个十子框,但我看了你的解答还是会在鼠标第一次
移动时产生固定的十子框,而第二个才是随鼠标移动的,我想了一些方法,可以
不产生固定的十子框,并且只有一个十子框随鼠标移动,但在鼠标移动时,canvas
上的其它东西会闪动,效果不好,所以还是没有好的方法把它作好,我也尽力拉,
希望您提供思路,谢谢
//这是你的句子
还是这样好~~~
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
x0,y0 :Integer;
begin
with Canvas do
begin
MoveTo(x0-20,y0);
LineTo(x0+20,y0);
MoveTo(x0,y0-20);
LineTo(x0,y0+20);
Pen.Mode :=pmNotXor;
MoveTo(x-20,y);
LineTo(x+20,y);
MoveTo(x,y-20);
LineTo(x,y+20);
end;
x0 :=x;
y0 :=y;
end;
还没有解决,就是我一打开那个在form的canvas上画东西的模块里还是有问题,
我鼠标移动时本想让它产生一个十子框,但我看了你的解答还是会在鼠标第一次
移动时产生固定的十子框,而第二个才是随鼠标移动的,我想了一些方法,可以
不产生固定的十子框,并且只有一个十子框随鼠标移动,但在鼠标移动时,canvas
上的其它东西会闪动,效果不好,所以还是没有好的方法把它作好,我也尽力拉,
希望您提供思路,谢谢
//这是你的句子
还是这样好~~~
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
x0,y0 :Integer;
begin
with Canvas do
begin
MoveTo(x0-20,y0);
LineTo(x0+20,y0);
MoveTo(x0,y0-20);
LineTo(x0,y0+20);
Pen.Mode :=pmNotXor;
MoveTo(x-20,y);
LineTo(x+20,y);
MoveTo(x,y-20);
LineTo(x,y+20);
end;
x0 :=x;
y0 :=y;
end;