标题:求用Dlephi做一个“抓不到的Button”程序出来!(自己突如其来的想法!)
只看楼主
Begin2011
Rank: 2
等 级:论坛游民
帖 子:60
专家分:61
注 册:2011-6-7
结帖率:83.33%
已结贴  问题点数:20 回复次数:2 
求用Dlephi做一个“抓不到的Button”程序出来!(自己突如其来的想法!)
我想做一个有趣的程序,就是用delphi做一个住不到的Button出来。
我自己的思想是这样的
在主窗体内放一个Button组件
然后在MouseMove事件上添加一下代码
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Button1.Left:=Button1.Left-10;
end;
可是这样做出来之后
Button组建只能向左移动,而且移动到最左边之后就会移出住窗体
我希望做出来的是Button组件是在主窗体之内随机移动
或者在四个角落移动也可以
但是鼠标是点不到组件上面的
请各位高手们教我啊!!
小弟感激不尽!
本人新手,求各位大神指导!
搜索更多相关主题的帖子: 突如其来 
2011-06-07 10:40
zin5970
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:195
注 册:2008-10-10
得分:20 
Button1.Left:=Button1.Left-10;
因为这样你只是设置了button1一直往左移

可以通过 button1.let和button1.top 两个来设置button1的坐标  你在这里可以随机赋值啊 只要在窗体内 即可

比如说你可以 判断 button1.left - button1.width 是否大于0 , 如果小于0了 你就改成button1.left + button1.width  
同理 如果 button1.left + button1.width  大于了你窗体的宽 那就再改成 button1.left-button1.width

总之是通过控制button1.let和button1.top 的两个属性来设置button1的坐标位置
2011-06-07 12:31
Begin2011
Rank: 2
等 级:论坛游民
帖 子:60
专家分:61
注 册:2011-6-7
得分:0 
我自己按照这个思路去试了一下,
发现还是不行
我的代码如下:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Button1.Left:=Button1.Left-10;
  Button1.Top := BUtton1.Top-5;
  if (button1.left - button1.width<0) or
  (Button1.Top-button1.Height<0) then
  repeat Button1.Left:=Button1.Left+10
  until button1.Left+button1.width>form1.Width;
end;
结果到最后那个Button还是消失在了窗体之中
希望各位大神给出详细代码
本人乃是一菜鸟
诚心希望大神们的指点.
再次给出以下要求:
我希望做出来的是Button组件是在主窗体之内随机移动
或者在四个角落移动也可以(随机移动!)
但是鼠标是点不到组件上面的
求大神们指点啊~~~~~~~~~~~~~!!!!!
2011-06-12 20:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-342076-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.061076 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved