+ -
当前位置:首页 → 问答吧 → onmousemove移动控制多个BitBtn的位置。

onmousemove移动控制多个BitBtn的位置。

时间:2011-09-01

来源:互联网

var
  Form3: TForm3;
  setcap:boolean=false;
procedure TForm3.onmousemove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);


begin
if timer1.Enabled=false then
  begin
  BitBtn2.Left :=832;
  //BitBtn3.Left :=808;

  timer1.Enabled :=true;

  end
  else

  begin
  BitBtn2.Left :=960;
  //BitBtn3.Left :=936;

  timer1.Enabled :=false;
  end;


  end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin

  if setcap=false then
  begin

  setcapturecontrol(BitBtn2);

  setcap:=true;

  end
  else

  begin

  setcapturecontrol(nil);
  //timer1.Enabled :=true;
  setcap:=false;
  end;

end;
怎么还是一闪一闪的?还有要做到鼠标移到那个按钮那个就冒出来离开就变回原来的样子,要怎么写啊? 求教!

作者: xiaobaigezhinu   发布时间: 2011-09-01

额 , 用bitbtn1.onmorsemove bitbtn2.onmorsemove 来区分开 但是一闪一闪还是没解决

作者: xiaobaigezhinu   发布时间: 2011-09-01

闪烁其实是在调用控件刷新
1 你可以把父容器例如panel和form的doublebuffer打开
2 如果方法一不管用可以试下,移动之前,把父容器例如panel的visable设为false,移动后设为true,看一下还会闪么?

作者: funxu   发布时间: 2011-09-01

还有要做到鼠标移到那个按钮那个就冒出来离开就变回原来的样子
这个你要自己弄个图片代替按钮了

作者: funxu   发布时间: 2011-09-01

额 不好意思 是我的表述有问题,我的意思是原来所有的bitbtn都是拖到窗口以外,漏一小个角出来,当鼠标移动到bitbtn那个角上时,bitbtn就伸展出来 离开时又缩回去,现在有人告诉我分别用bitbtn1.onmousemove bitbtn2.onmousemove ...... 来分别控制 ,但是我试了N久了 试不出来。我先去试试funxu说的方法看看还闪不闪。

作者: xiaobaigezhinu   发布时间: 2011-09-01

热门下载

更多