⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vfp给程序变个脸.txt

📁 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 + -