国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

窗體動態效果的實現

2024-07-21 02:08:09
字體:
來源:轉載
供稿:網友

    最近用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
   window.height = li_height - 2*(li_gd - li_y)
  next
 case 5      // closetype = 5,從左右向中間擠壓逐漸消失
  li_cenx = li_x+li_width / 2
  for li_gd = li_x to li_cenx step 1
   window.x = li_gd
   window.width = li_width - 2*(li_gd - li_x)
  next
 case 6      // closetype = 6,從左上->右下
  for li_gd = li_y to li_height+li_y step 1
   window.y = li_gd
   window.height = li_height+li_y - li_gd
   if window.x < li_x + li_width then
    window.x = li_x + (li_gd - li_y)
   else
    window.x = li_x + li_width
   end if
   if window.width > 0 then
    window.width = li_x+li_width - window.x
   else
    window.width = 0
   end if
  next
  window.x = li_x + li_width
  window.y = li_height+li_y
  window.width = 0
  window.height = 0
  window.show()
 case 7      // closetype = 7,從右下->左上
  for li_gd = li_height to 0 step -1
   window.height = li_gd
   if window.width > 0 then
    window.width = li_width - (li_height - li_gd)
   else
    window.width = 0
   end if
  next
  window.x = li_x
  window.y = li_y
  window.width = 0
  window.height = 0
  window.show()
 case 8      // closetype = 8,從右上->左下
  for li_gd = li_y to li_height+li_y step 1
   window.y = li_gd
   window.height = li_height+li_y - li_gd
   if window.width > 0 then
    window.width = li_width - (li_gd - li_y)
   else
    window.width = 0
   end if
  next
  window.x = li_x
  window.y = li_height+li_y
  window.width = 0
  window.height = 0
  window.show()
 case 9      // closetype = 9,從左下->右上
  for li_gd = li_x to li_x+li_width step 1
   window.x = li_gd
   window.width = li_width +li_x -li_gd
   if window.height > 0 then
    window.height = li_height -(li_gd - li_x)
   else
    window.height = 0
   end if
  next
  window.x = li_x+li_width
  window.y = li_y
  window.width = 0
  window.height = 0
  window.show()
 case 10      // closetype = 10,從四面到中間
  li_ceny = li_y+li_height/2
  li_cenx = li_x+li_width / 2
  for li_gd = li_y to li_ceny step 1
   window.y = li_gd
   window.height = li_height - 2*(li_gd - li_y)
   if window.x < li_x + li_cenx then
    window.x = li_x + (li_gd - li_y)
   else
    window.x = li_x + li_cenx
   end if
   if window.width > 0 then
    window.width = li_width - 2*(li_gd - li_y)
   else
    window.width = 0
   end if
  next
  window.x = li_cenx
  window.y = li_ceny
  window.width = 0
  window.height = 0
  window.show()
 case else
  window.show()
  window.width = li_width
  window.height = li_height
  window.x = li_x
  window.y = li_y
end choose
return 0
***********************************
// 調用該函數在窗體的 closequery 事件中
gf_closequery (w_main,mod(integer(string(now(),"ss")),11))
-------------------------------------------------------------------------------------
    上面是關閉時的效果,窗體打開時的動態效果的語句跟上面的差不多,在此就不寫啦,如果有需要的可以告訴我,我單獨發送。謝謝。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中山市| 长寿区| 黄浦区| 昌宁县| 凉城县| 五原县| 丹阳市| 增城市| 武穴市| 乌审旗| 元朗区| 石棉县| 谷城县| 洛川县| 大冶市| 鹤庆县| 新巴尔虎左旗| 镇江市| 石景山区| 嘉兴市| 都江堰市| 罗甸县| 晋州市| 宜君县| 亚东县| 巴南区| 寻乌县| 建德市| 洮南市| 景泰县| 富裕县| 安仁县| 隆尧县| 乐至县| 孟州市| 孝昌县| 庆安县| 乌兰县| 乌兰浩特市| 石林| 德州市|