在VFP的程序设计中,其主窗口_screen有一个系统的状态栏,虽然可以很方便的使用命令set message to 字符。。。但是有时侯还是会有美中不足之处,如系统的显示一个当前打开的当前工作区的表的决定路径,以及其所在的记录位置,和锁定方式,令人很是头疼。 7、Visible 默认为.T.即可见,可以通过修改该值来隐含Panel. 8、Enabled 默认为可用,可以通过修改该值来表示Panel的可用不可用状态。 9、Alignment 对齐方式,默认为左对齐。 10、Style 表示Panel的样式,如普通文字,CAPS,NUM,INS的键的状态指示,用来表示日期,时间等。 11、Bevel 表示Panel的外观,有平面,突起,凹进三种。 12、Picture 该参数还未知如何以编程方式来指定,他的值是作为一个对象存储的。 方法: 1、添加 thisform.olestatus.panels.add(n,"key_" allt(str(n)),"Ready",0 ) 以上代码参数表示: N 是指其INDEX值,该值必须唯一,且是顺序指定,"key_" allt(str(n)) 表示其KEY值,要指定,必须使他唯一,否则出错。 "Ready" 是在PANEL上显示的文字。 后面的0表示其样式为普通文字。 2、删除 thisform.olestatus.panels.remove(key) 指定某一个PANEL的KEY值时,可以通过该命令来做删除。 3、更新 详细见示例中 应用: 1、显示进度条: *-- PANEL 的宽度 = 12 * 方块个数 2 with thisform.olestatus.panels.item(1) && 在第一个PANEL里显示进度条 .text = "" nTotalNum = (.width - 2)/12 && 总方块个数 x = 0 && 当前所计算出的第几个方块数 y = 0 && 跟X参考比较数 nTotalSum = 100000 && 总数 for n = 1 to nTotalSum && 表示从1到100000之间的处理进度 x = int((n * nTotalNum)/nTotalSum) && 求得现在是需要显示第几个方块数 X if y <> x && 当两个数不相等时,表明有新的数产生,则加一个方块 .text = .text ■ y = x endif *-- 处理某事务 endfor .text = "完毕" end with 2、显示时钟 这个很简单,只要在表单上放一个时钟控件,设频率为1000微妙,TIMER事件里写 thisform.olestatus.panels.item(1).text = ttoc(datetime()) 表示在第一个PANEL里显示当前的时间,并每隔一秒更新,从而达到即时显示时间,但这个不是很有必要,毕竟他提供了时钟的功能,只是不显示秒? zmbbs=1; |
|