窗体动态效果的实现(1)

发表于:2007-06-07来源:作者:点击数: 标签:
最近用pb做了一个触摸屏的程序,项目组要求窗口显示关闭的时候有点动态效果,于是我就写了如下的程序,供大家参考借鉴。 --------------------------------- // 实现关闭窗体时的动态效果 // ------------------------------- // 函数名:gf_closequery //

    最近用pb做了一个触摸屏的程序,项目组要求窗口显示关闭的时候有点动态效果,于是我就写了如下的程序,供大家参考借鉴。


  ---------------------------------
  // 实现关闭窗体时的动态效果
  // -------------------------------
  // 函数名:gf_closequery
  // 参数说明:
  //         window    window类型,调用窗口的名字
  //         closetype integer类型,窗口关闭方式,value = 0~10
  // -------------------------------
  // 申明局部变量
  int li_x ,li_y,li_width,li_height,li_ceny,li_cenx,li_xminusy,li_wminush
  Integer li_gd

  // 取出当前窗口的坐标值、大小值
  li_x = window.x
  li_y = window.y
  li_width = window.width
  li_height = window.height

  // 设置窗体关闭前的动画效果
  // 关键是看哪个值发生了变化——x、y、h、w
  CHOOSE CASE closetype
   CASE 0      // closetype = 0,从下到上逐渐消失
  for li_gd = li_height to 0 step -1
   window.height = li_gd
   window.show()
  next
 CASE 1      // closetype = 1,从上到下逐渐消失
  for li_gd = li_y to li_height+li_y step 1
   window.y = li_gd
   window.height = li_height+li_y - li_gd
   window.show()
  next
 CASE 2      // closetype = 2,从右到左逐渐消失
  for li_gd =  li_width to 0 step -1
   window.width = li_gd
  next
 CASE 3      // closetype = 3,从左到右逐渐消失
  for li_gd =  li_x to li_x+li_width step 1
   window.x = li_gd
   window.width = li_x+li_width - li_gd
   window.show()
   next
  case 4      // closetype = 4,从上下向中间挤压逐渐消失
  li_ceny = li_y+li_height/2
  for li_gd = li_y to li_ceny step 1
   window.y = li_gd



原文转自:http://www.ltesting.net