怎么实现这样的panel移动效果(50)

  • 主题发起人 主题发起人 netwang
  • 开始时间 开始时间
N

netwang

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体有一个panel和button,点击button时, panel先快速移动,然后减速移动到某一位置停止。怎么实现这样的效果
 
1.要用到定时器2.移动就是位置变化,即改变PANEL的TOP和LEFT.3.移动快慢通过改变TIMER的INTERVAL值实现4.在ONTIMER中写代码,判断位置,改变PANEL坐标.
 
楼上方法可以实现,但是可能会有闪动
 
procedure TForm1.Button1Click(Sender: TObject);var I: Integer;begin for I := 0 to 10 do begin Sleep(30); pnl1.Left := pnl1.Left + I * 5; pnl1.Refresh; end; for I := 0 to 5 do begin Sleep(100); pnl1.Left := pnl1.Left + I * 5; pnl1.Refresh; end;end;
 
用gdi+实现,那个GDI+里例子就有这个功能的实现,闪动的解决办法是self.DoubleBuffered:=true;
 
例子在万一老师的delphi全掌握的gdi+里,delphi全掌握你可以在盒子论坛上下载
 

Similar threads

回复
0
查看
690
不得闲
D
回复
0
查看
909
DelphiTeacher的专栏
D
D
回复
0
查看
704
DelphiTeacher的专栏
D
D
回复
0
查看
666
DelphiTeacher的专栏
D
后退
顶部