鼠标拖动虚影效果(拖动的时候使用图片蒙人,但效果不错)

鼠标拖动虚影效果

 

复制代码
 1 //1.定义消息
 2 procedure MYHideMessage(var Msg: tagMSG; var Handled: Boolean);
 3 
 4 //2.执行消息
 5 procedure TForm2.MYHideMessage(var Msg: tagMSG; var Handled: Boolean);
 6 var
 7   pt:TPoint;
 8   bit: TBitmap;
 9 begin
10   case Msg.message of
11     WM_LBUTTONDOWN:  //鼠标左键按下显示虚窗体
12     begin
13       //复制一个主窗体的图片
14       bit := TBitmap.Create;
15       bit.Width := Width;
16       bit.Height := Height;
17       BitBlt(bit.Canvas.Handle, 0, 0, Width, Height, GetWindowDC(Handle), 0, 0, SRCCOPY);
18       //虚窗体加载图片
19       Form1.Image1.Picture.Assign(bit);
20       //我这里为了方便大家看代码没有用TRY,大家写时注意了
21       bit.Free;
22       //设置虚窗体的大小
23       Form1.Height:=Form2.Height;
24       Form1.Width:=Form2.Width;
25       Form1.Image1.Align:=alClient;
26       Form1.BorderStyle:=bsNone;
27       //显示虚窗体
28       Form1.Show;
29       //设置透明度
30       Form1.AlphaBlend:=True;
31       Form1.AlphaBlendValue:=100;
32     end;
33     WM_MOUSEMOVE: //鼠标移动虚窗体根着移动
34     begin
35       //取出鼠标的位置
36       GetCursorPos(pt);
37       Caption:='X坐标: '+inttostr(pt.X)+'   Y坐标:  '+inttostr(pt.Y);
38       //设置虚窗体的位置
39       Form1.Top:=pt.Y;
40       Form1.Left:=pt.X;
41     end;
42     WM_LBUTTONUP: //鼠标左键跳起虚窗体隐藏
43     begin
44       Form1.Hide;
45     end;
46   end;
47 end;
复制代码

 

http://www.cnblogs.com/FKdelphi/p/5843110.html

posted @ 2016-09-05 23:09  findumars  Views(1758)  Comments(0Edit  收藏  举报