回 帖 发 新 帖 刷新版面

主题: 。希望各位老师再次请教,有新问题!

请问各位老师,在一个表单里,如何让一个label显示为当前时间?

    还有就是命令按钮command可以改变形状或颜色吗?


在网上看到一个关于文字的推拉显隐的动画效果的技巧(可以看到屏幕中央出现一个灰色背景的窗口,在窗口中央从背景色到绿色逐渐出现"学籍管理"四个汉字,并且由小逐渐变大;在窗口内任意位置按一下鼠标左键,可以看到汉字从绿色逐渐变到背景色,并且由大逐渐变小),觉得很好,然后再在系统登录界面中运用了。

当文字在界面中达到最大时候,大概停顿一秒钟左右就出现“程序错误”提示  说在with/endwith之外此表达式错误!
   如果按忽略,程序就继续正常运行。 但是我想问,这里到底是那条表达式错误了,怎样修正?
 附上代码:
  
将表单Form1的BackColor属性设置为192、192、192,即Form1的背景色设为灰色,其它属性如下:
AutoCenter = .T.
BorderStyle = 0
Caption = "欢迎使用本系统"
TitleBar = 1
ZoomBox = .F.
Name = "Form1"。 

3.在表单Form1中加入一个标签“学籍管理”控件,并设置其属性如下:

AutoSize = .T. &&使得标签能根据将来字体的大小自动改变大小
FontSize = 8
Alignment = 2 &&文字居于标签中央
Caption = "学籍管理"
ColorSource = 4 &&Windows颜色(默认)
Name = "学籍管理"

4.在表单Form1中加入一个定时器控件beginTimer,并设置其属性如下: 
Enabled = .T.
Interval = 25 &&时间间隔为25毫秒
Name = "beginTimer"

5.在表单Form1中再加入一个定时器控件stopTimer,并设置其属性如下: 
Enabled = .F.
Interval = 25
Name = "stoptimer" 

6.在表单Form1的Init过程中写入以下代码: 
PUBLIC red,green,blue
red=192
green=192
blue=192

&&使标签“学籍管理”位于窗体Form1的中央

thisform.学籍管理.left=(thisform.width-thisform.学籍管理.width)/2
thisform.学籍管理.top=(thisform.height-thisform.学籍管理.height)/2

7.在表单Form1的Click过程中写入以下代码: 
thisform.beginTimer.enabled=.f.
thisform.stopTimer.enabled=.t.


8.在标签“学籍管理”的Click过程中写入以下代码:
thisform.click &&在标签区域中按一下鼠标左键也执行窗体的Click过程。

9.在定时器控件beginTimer的timer过程中加入以下代码: 
&&把字体颜色从背景色变为绿色
if red >0
red=red-1 
endif 
if blue >0 
blue=blue-1 
endif 
if green < 255 
green=green+1 
else 
thisform.beginTimer.enabled=.f. &&颜色达到要求之后,关闭beginTimer
endif

thisform.学籍管理.forecolor=rgb(red,green,blue) 
if thisform.学籍管理.fontsize<70
&&字体逐渐变大,直到70为止
thisform.学籍管理.fontsize=thisform.学籍管理.fontsize+1 
endif
thisform.refresh() 

10.在定时器控件stopTimer的timer过程中加入以下代码: 
&&再把字体颜色变为背景色
if red <> 192 
red = red+1 
endif 
if blue <> 192 
blue = blue+1 
endif 
if green <> 192 
green=green-1 
endif 

&&变为背景色后,释放窗体Form1,用户软件系统中的其它程序可接着执行
if red=192 and green=192 and blue=192 
thisform.stoptimer.enabled=.f.
thisform.release
endif 
thisform.学籍管理.forecolor=rgb(red,green,blue)
if thisform.学籍管理.fontsize>8
thisform.学籍管理.fontsize=thisform.学籍管理.fontsize-1
endif 
thisform.refresh()




















回复列表 (共8个回复)

沙发

固定:
thisform.text1.init 事件中写入:

thisform.text1.Value=TIME()

板凳

活动(时钟代码)

在表单上, 添加一个计时器,名为:《Timer1》控件。
在其 init 事件中写入:
WITH thisform.text1
.ForeColor=RGB(0,0,255) && 改变字体颜色
.FontSize=12            && 改变字体大小
ENDWITH
this.Interval=1000

再在表单上, 添加一个文本框,名为:《Text11》控件。

3 楼

调整按钮以下属性的相对值,就可达到你的目的:
.SpecialEffect  调整为  0  是 3维形状;  调整为 1 是平面形状;  调整为2 是热点形状 
.ForeColor      改变字体颜色
.BackColor      背景颜色

4 楼

如果在标签,在表单的init事件中:

thisform.label1.caption=time()

5 楼

在表单的init事件中:
thisform.label1.caption=time()

添加一个计时器,在其 init 事件中写入:
this.Interval=1000
在timer事件中写入:
thisform.label1.Caption=TIME()

6 楼

在Command1的init事件中放入(引用cbl518老师给出的代码),改变命令按钮颜色和形状:
WITH this
.ForeColor=RGB(0,0,255) && 改变字体颜色
.FontSize=15            && 改变字体大小
.SpecialEffect=0        &&调整为 0  是3维形状;  调整为 1 是平面形状;  调整为2 是热点形状 
.BackColor=RGB(125,217,255)      &&背景颜色
ENDWITH

7 楼


谢谢楼上各位。。。。开学2周做课程设计,第一次接触visual foxpro。
  所以很多问题都不清楚。

8 楼

顶上一个。就差这个问题没解决了!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册