📄 visual foxpro 7.txt
字号:
Visual FoxPro 5.0表单清屏特技
在使用Visual FoxPro 5.0编制应用程序时,‘表单’大概是最常用的组成部份,然而,时间一久,自然会有点厌了它那个一闪即现、转眼即逝的风格。笔者于是试着改变表单的启动和关闭的方式,效果还算不错,有兴趣的读者不妨一试。
首先要进入Visual FoxPro 5.0系统环境中,建立一个新的表单(Form1),然后再在表单上建立一个‘计时器’控件(Timer1),设置Timer1的InterVal属性为100ms。接下来的工作就是为表单和计时器控件加入事件响应的代码:
启动表单
由左至右展开表单。
Form1的Load方法:
Public F_wid,I
F_WID = Thisform.Width
Thisform.Width = 0
I = 104
Timer1的Timer方法:
If I > F_wid
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Width = I
I = I + 10
由右至左展开表单。
Form1的Load方法:
Public F_wid,I
F_wid = Thisform.Width
Thisform.Left = Thisform.Left + F_wid - 104
Thisform.Width = 0
I = 104
Timer1的Timer方法:
If I >= F_wid
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Left = Thisform.Left - 10
Thisform.Width = I
I = I + 10
由上至下展开表单。
Form1的Load方法:
Public F_hei,I
F_hei = Thisform.Height
Thisform.Height = 0
I = 0
Timer1的Timer方法:
If I >= F_hei
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Height = I
I = I + 10
由下至上展开表单。
Form1的Load方法:
Public F_hei,I
F_hei = Thisform.Height
Thisform.Height = 0
Thisform.Top = Thisform.Top + F_hei
I = 0
Timer1的Timer方法:
If I >= F_hei
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Top = Thisform.Top - 10
Thisform.Height = I
I = I + 10
由左上角向右下角展开表单。
Form1的Load方法:
Public F_hei,F_wid,I
F_hei = Thisform.Height
F_wid = Thisform.Width
Thisform.Height = 0
Thisform.Width = 0
I = 0
Timer1的Timer方法:
If I >= F_hei
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Height = I
Thisform.Width = I * F_wid / F_hei
I = I + 10
由左下角向右上角展开表单。
Form1的Load方法:
Public F_hei,F_wid,I
F_hei = Thisform.Height
F_wid = Thisform.Width
Thisform.Height = 0
Thisform.Width = 0
Thisform.Top = Thisform.Height + F_hei
I = 0
Timer1的Timer方法:
If I >= F_hei
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Top = Thisform.Top - 10
Thisform.Height = I
Thisform.Width = I * F_wid / F_hei
I = I + 10
二、关闭表单
1、由左至右关闭表单。
Form1的Load方法:
Public F_wid,F_left
F_wid = Thisform.Width
F_left = Thisform.Left
Timer1的Timer方法:
If F_wid <= 100
Thisform.Timer1.Enabled = .F.
Thisform.Release
Endif
Thisform.Width = F_wid
Thisform.Left = F_left
F_wid = F_wid - 10
F_left = F_left + 10
2、由右至左关闭表单。
Form1的Load方法:
Public F_wid
F_wid = Thisform.Width
Timer1的Timer方法:
If F_wid <= 104
Thisform.Timer1.Enabled = .F.
Thisform.Release
Endif
Thisform.Width = F_wid
F_wid = F_wid - 10
由下至上关闭表单。
Form1的Load方法:
Public F_hei
F_hei = Thisform.Height
Timer1的Timer方法:
If F_hei <= 10
Thisform.Timer1.Enabled = .F.
Thisform.Release
Endif
Thisform.Height = F_hei - 10
F_hei = F_hei - 10
4、由上至下关闭表单。
Form1的Load方法:
Public F_hei
F_hei = Thisform.Height
Timer1的Timer方法:
If F_hei <= 10
Thisform.Timer1.Enabled = .F.
Thisform.Release
Endif
Thisform.Top = Thisform.Top + 10
Thisform.Height = F_hei
F_hei = F_hei - 10
5、由右上角向左下角关闭表单。
Form1的Load方法:
Public F_hei,F_wid,I
F_hei = Thisform.Height
F_wid = Thisform.Width
I = F_hei
Timer1的Timer方法:
If F_hei <= 10
Thisform.Timer1.Enabled = .F.
Thisform.Release
Endif
Thisform.Top = Thisform.Top + 10
Thisform.Height = F_hei
Thisform.Width = F_hei * F_wid / I
F_hei = F_hei - 10
由右下角向左上角关闭表单。
Form1的Load方法:
Public F_hei,F_wid,I
F_hei = Thisform.Height
F_wid = Thisform.Width
I = F_hei
Timer1的Timer方法:
If F_hei <= 10
Thisform.Timer1.Enabled = .F.
Thisform.Release
Endif
Thisform.Height = F_hei
Thisform.Width = F_hei * F_wid / I
F_hei = F_hei - 10
以上程序在Windows 95和Visual FoxPro 5.0中运行通过。
返回
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -