鼠标移动痕迹 C#,Delphi,VB,VB.net四种语言版本(附窗体透明)-思路和源代码(2)

鼠标移动痕迹 C#,Delphi,VB,VB.net四种语言版本(附窗体透明)-思路和源代码(1)

这篇文章介绍了鼠标痕迹四语言版本中的VB版本,接下来介绍Delphi版本。


VB版下载地址:http://download.csdn.net/detail/u011351840/5753079

VB.net版下载地址:http://download.csdn.net/detail/u011351840/5753069

C#版下载地址:http://download.csdn.net/detail/u011351840/5753061

Delphi版下载地址:http://download.csdn.net/detail/u011351840/5753063


思路还是一样的,一个窗体一个Timer

Var中同样四个变量

  size:integer;
  i:integer;
  ce:integer;
  xv:array[0..1023] of integer;
  yv:array[0..1023] of integer;
  si:array[0..1023] of integer;

初始化这几个变量

procedure TForm1.FormCreate(Sender: TObject);
begin
    ce:=0;
    size:=1023;
    for i:=0 to size do
 begin xv[i]:=-1; yv[i]:=-1; si[i]:=2;
    end;
end;

同样在MouseMove事件中添加当前位置

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
	xv[ce]:= x;
	yv[ce]:= Y;
	ce := ce + 1;
	If ce >= size Then
	ce := 0;
end;

Timer是比较重要的代码,也略显复杂,要注意的是Delphi也需要在绘制之前清屏,要设置好刷子和笔的颜色,不能混到一块了。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
	Randomize;
	canvas.Brush.Color:=RGB(255,255,255);
	canvas.Rectangle(0,0,form1.Width,form1.Width);
	for i:=0 To size do
	begin
		If xv[i] <> -1 Then
		begin
			canvas.Pen.Color:=RGB(random(255),random(255),random(255));
			canvas.Pen.Width:=4;
			canvas.Ellipse(xv[i]-si[i],yv[i]-si[i],xv[i]+si[i],yv[i]+si[i]);
 			 if si[i]>40 then
 			 begin
   				 xv[i]:= -1;
   				 yv[i]:=-1;
   				 si[i]:=2;
 			 end;
  			si[i]:= si[i] + 2
		end;
	end;
end;
相对来说Delphi设置透明就简单多了。
在窗体属性中有一个TransparentColor和TransparentColorValue,把窗体设置成你喜欢的颜色,再把TransparentColorValue设置成和窗体一样的颜色。 把TransparentColor设置成True,这时候窗体就透明了,可是又遇到和VB同样的情况----MouseMove事件不能触发,解决方法也是相同的,在Timer中监视。 Delphi中不需要API声明,可以直接使用GetCursorPos(TPoint p)函数 先在Var中添加一个变量p
p:TPoint;
然后就能使用API了
GetCursorPos(p);
nx:=StrtoInt(format('%d',[p.x]));
ny:=StrtoInt(format('%d',[p.y]));
以上是Delphi版本的代码

下一篇,C#和VB.net版本

鼠标移动痕迹 C#,Delphi,VB,VB.net四种语言版本(附窗体透明)-思路和源代码(3)








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值