使用VFP的_SCREEN对象

Author: 黄宏伟 Date: 1998年 第43期 13版

  在Visual FoxPro中充分利用_SCREEN对象,就能对主窗口进行各种操作,如可以动态地改变主窗口的图标、标题、颜色等,也可以通过它引用其它的对象或属性。
  _SCREEN对象(即指主窗口)是从表单类派生出来的,表单中的部分属性、事件和方法在_SCREEN对象也存在,因而可以把主窗口当作表单来操作(但也有所不同,如在_SCREEN中不能像表单那样对LOAD、ACTIVATE等事件添加代码)。
  下面举例说明如何利用_SCREEN对象:
#1  1.更改图标和标题
  把VFP窗口的小狐狸图标和“Microsoft Visual FoxPro”标题,改为你所喜欢的图标和标题,只需执行代码:
  _SCREEN.ICON=″你的图标文件名(.ICO)″
  _SCREEN.CAPTION=″你的标题名″
#1  2.动态地改变主窗口的图标和标题
  即让主窗口的图标和标题随时间的变化而变化。这就需要在_SCREEN中加入一个Timer类,Timer类是每经过一定的时间(在Interval属性中设定,单位为毫秒)循环地执行其Timer事件中的代码。方法如下:
  先定义你的Timer类:点“文件/新建/类/新建文件”,这时弹出一窗口,上面有这几项需要填写:“类名”项填新建类名(如MyTimer),“派生于”项选Timer,“来源于”项不用填,“存储于”项填新建类库名(如MyClass)。确定后出现类设计器(很像表单设计器),上有一小闹钟(Timer 控件)把其Interval属性设为1000(时间间隔,毫秒),在Init事件中输入代码:
  PUBL NN
  NN=0 &&NN为变化的标志变量
  在Timer事件(每隔一定时间执行)输入:
  _SCREEN.ICON=IIF((-1)^NN,″所需加入的图标1″,″图标2″)
  _SCREEN.CAPION=IIF((-1)^NN,″所需加入的标题1″,″标题2″)
  NN=NN+1
  关闭并保存,类建立完毕。
  可视地把该类添到_SCREEN中:由于_SCREEN与表单有所区别,故不能用表单设计器工具来完成拖放类定义,而是用“类浏览器”来完成,选“工具/类浏览器”后,弹出一打开窗口,选择刚才建立的类库文件(MYCLASS),确定后,弹出类浏览器窗口,选中MyTimer类,这时在类浏览器的左上角有一小闹钟,把它拖放到主窗口中,你就会惊奇地发现你的主窗口不再是死气沉沉的了。不信?试试!
#1  3.利用_SCREEN得到主窗口内包含的表单数量
  执行:?_SCREEN.FORMCOUNT即可
#1  4.利用_SCREEN得到打开的表单名
  可执行:?_SCREEN.FORMS(1).NAME &&FORM(1)为数组
  以上是有关_SCREEN对象的简单阐述,想要你的窗口美化起来,具体的工作还需要你自己去做。我的联系地址:hhongwei@163.net。