📄 vfp给程序变个脸.txt
字号:
给程序变个脸
在VFP编制的应用系统中,一般情况下采用的是选单方式,这时除了选单条以外,屏幕的其它部分都是空白的,屏幕的颜色比较单一,十分不美观。那么,如何在应用系统中改变屏幕窗口呢?笔者在开发应用系统时,制作了一个通用的壁纸设置程序,用来实现屏幕的壁纸功能,下面是简要介绍实现过程。
其实在VFP中实现壁纸功能是十分容易的,我们可以通过改变VFP系统中的—SCREEN.PICTURE属性来实现。
一、新建数据表
首先新建一个数据表BZWJ.DBF,数据表中有两个字段,用来存放所有的壁纸文件名,供用户选择使用。字段属性如下表。
字段名 类型 长度
PICNAME 字符型 60
PICWZ 字符型 1
二、 新建表单
利用表单设计器新建一个表单,在表单各控件分布如下图:
在这个壁纸设置表单中,在数据环境下加入数据表BZWJ.DBF,同时表单上使用了一个列表框控件,一个图像控件,三个命令按钮控件,一个选项按钮组控件和一些标签、形状控件组成。下面是各个控件属性及事件代码情况:
1. 表单中属性设置如下:
FORM1.CAPTION=′壁纸设置′
FORM1.ACTIVATE事件代码如下:
SELE BZWJ
LOCA FOR PICWZ=′1′
WZ1=RECN()
MZ1=ALLT(BZWJ.PICNAME)
2. LIST1列表框的属性设置如下:
LIST1.CONTROLSOURCE=BZWJ.PICNAME
LIST1.BROWSOURCE=BZWJ.PICNAME
LIST1.BROWSOURCETYPE=6-字段
LIST1.CLICK EVENT事件代码如下:
MZ1=ALLT(BZWJ.PICNAME)
IF THISFORM. OPTIONGROUP1.VALUE=1
THISFORM.IM1.STRETCH=1
ELSE
THISFORM.IM1.STRETCH=2
ENDIF
THISFORM.IM1.PICTURE=MZ1
3.COMMAND1命令按钮的属性设置如下:
COMMAND1.CAPTION=′应用′
COMMAND1.CLICK EVENT事件代码如下:
-SCREEN.PICTURE=MZ1
WZ11=RECN()
REPL PICWZ WITH ′ ′ ALL
GO WZ11
REPL PICWZ WITH ′1′
4.COMMAND2命令按钮的属性设置如下:
COMMAND2.CAPTION=′确定′
COMMAND2.CLICK EVENT事件代码如下:
THISFORM.RELEASE
5.COMMAND3命令按钮的属性设置如下:
COMMAND3.CAPTION=′浏览′
COMMAND3.CLICK EVENT事件代码如下:
PICFILE= GETFILE(′BMP;JPG′)
IF LEN(ALLT(PICFILE))>1
SELE BZWJ
APPE BLAN
REPL PICNAME WITH PICFILE
GO BOTT
THISFORM.LIST1.CLICK
ENDIF
6.OPTIONGROUP1选择按钮组的属性设置如下:
OPTION1.CAPTION=′等比填充′
OPTION2.CAPTION=′变比填充′
OPTIONGROUP1.INTERACTIVECHANGE EVENT事件代码如下:
THISFORM.IMAGE1.STRETCH=THIS.VALUE
三、 运行表单
全部控件属性设置和事件代码输入结束后,运行这个表单,我们可以选择列表框中任一个图像文件作为应用程序的壁纸文件。
当鼠标点击列表框中一个文件名时,在图像框中将对这个图像文件进行预览,也可以通过浏览按钮查找到一个图像文件(这里允许使用BMP和JPG格式的图像文件)作为壁纸文件增加到列表框中,同时在壁纸数据表中增加这个图形文件名。选择按钮组的属性可改变图像为等比或变比显示模式。点击“应用”按钮后系统将更换为所选择的图像,同时将壁纸数据表中的标识位字段PICWZ赋值为“1",使得系统在下次运行时自动将系统壁纸更换为所选择的壁纸图像,这时要在主程序(如MAIN.PRG)执行段中加入如下代码:
…
SELE BZWJ
LOCA FOR PICWZ=′1′
WZ1=RECN()
MZ1=(BZWJ.PICNAME)
—SCREEN.PICTURE=MZ1
…
说明:一般情况下,可以事先对壁纸图像进行处理,使其同系统显示器分辨率设置相符,使图像显示更加清晰。如当显示器设置为800×600分辨率时,我们可以把壁纸图像文件处理为800×600,并将文件命名为汉字名,这样可以很直观的表达图像文件的内容。
(作者:王守银 2000年01月12日 15:06)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -