财软.联盟.fs119.net
财 管家园 fs119.net
//实现关闭窗体时的动态效果
//-------------------------------
//函数名:gf_closequery
//参数说明:
//windowwindow类型,调用窗口的名字
//closetypeinteger类型,窗口关闭方式,value=0~10
//-------------------------------
//申明局部变量
intli_x,li_y,li_width,li_height,li_ceny,li_cenx,li_xminusy,li_wminush
Integerli_gd
li_x=window.x
li_y=window.y
li_width=window.width
li_height=window.height
//关键是看哪个值发生了变化——x、y、h、w
CHOOSECASEclosetype
CASE0//closetype=0,从下到上逐渐消失
forli_gd=li_heightto0step-1
window.height=li_gd
window.show()
next
CASE1//closetype=1,从上到下逐渐消失
forli_gd=li_ytoli_heightli_ystep1
window.y=li_gd
window.height=li_heightli_y-li_gd
window.show()
next
CASE2//closetype=2,从右到左逐渐消失
forli_gd=li_widthto0step-1
window.width=li_gd
next
CASE3//closetype=3,从左到右逐渐消失
forli_gd=li_xtoli_xli_widthstep1
window.x=li_gd
window.width=li_xli_width-li_gd
window.show()
next
case4//closetype=4,从上下向中间挤压逐渐消失
li_ceny=li_yli_height/2
forli_gd=li_ytoli_cenystep1
window.y=li_gd
window.height=li_height-2*(li_gd-li_y)
next
case5//closetype=5,从左右向中间挤压逐渐消失
li_cenx=li_xli_width/2
forli_gd=li_xtoli_cenxstep1
window.x=li_gd
window.width=li_width-2*(li_gd-li_x) 财,软联盟,fs119.net
next
case6//closetype=6,从左上->右下
forli_gd=li_ytoli_heightli_ystep1
window.y=li_gd
window.height=li_heightli_y-li_gd
ifwindow.x<li_xli_widththen
window.x=li_x(li_gd-li_y)
else
window.x=li_xli_width
endif
ifwindow.width>0then
window.width=li_xli_width-window.x
else
window.width=0
endif
next
window.x=li_xli_width
window.y=li_heightli_y
window.width=0
window.height=0
window.show()
case7//closetype=7,从右下->左上
forli_gd=li_heightto0step-1
window.height=li_gd
ifwindow.width>0then
window.width=li_width-(li_height-li_gd)
else
window.width=0
endif
next
window.x=li_x
window.y=li_y
window.width=0
window.height=0
window.show()
case8//closetype=8,从右上->左下
forli_gd=li_ytoli_heightli_ystep1
window.y=li_gd
window.height=li_heightli_y-li_gd
ifwindow.width>0then
window.width=li_width-(li_gd-li_y)
else
window.width=0
endif
next
window.x=li_x
window.y=li_heightli_y
window.width=0
window.height=0
window.show()
case9//closetype=9,从左下->右上
forli_gd=li_xtoli_xli_widthstep1
window.x=li_gd
window.width=li_widthli_x-li_gd
ifwindow.height>0then
window.height=li_height-(li_gd-li_x)
else
window.height=0
endif
next
window.x=li_xli_width
window.y=li_y
window.width=0
window.height=0
window.show()
case10//closetype=10,从四面到中间
li_ceny=li_yli_height/2
li_cenx=li_xli_width/2
forli_gd=li_ytoli_cenystep1
window.y=li_gd
window.height=li_height-2*(li_gd-li_y)
ifwindow.x<li_xli_cenxthen
window.x=li_x(li_gd-li_y)
else
window.x=li_xli_cenx
endif
ifwindow.width>0then
window.width=li_width-2*(li_gd-li_y)
else
window.width=0
endif
next
window.x=li_cenx
window.y=li_ceny
window.width=0
window.height=0
window.show()
caseelse
window.show()
window.width=li_width
window.height=li_height
window.x=li_x
window.y=li_y
ENDCHOOSE
return0
************************
//调用该函数在窗体的closequery事件中
gf_closequery(w_main,mod(integer(string(now(),"ss")),11)) 财管家,园,fs119.net
财软联盟,fs119.net
财管.家园.fs119.net
Google.cn搜索相关文章:
谷歌中搜索全球网 窗体动态效果的实现
百度中搜索 窗体动态效果的实现
谷歌中搜索www.fs119.net 窗体动态效果的实现
下一篇:PB实现数据窗口动态排序的方法