
1、表单的背景颜色取黑色。
2、建立3个矩形形状控件,其“backstyle”属性均为0-透明,选边框颜色。
3、建立文本框text1~text7,其“backstyle”属性除text1外均为0-透明;其controlsource属性分别为:getdatec,myt1,nongli,tx1,thyear,thmonth,thday;其“tabstop”属性除text1外均为.f.-假;其“forecolor”属性自己设定。
4、建立标签控件label1~label7和线条控件line1~line18的属性不叙述了。
5、建立命令按钮控件command1~command8,其“tabstop”属性均为.f.-假;其“caption”属性除command5为“今天”外其它均为空值,我们用图片来提示,其“picture”见上图。我们让鼠标指到按钮上时出现按钮提示,我们就要在每个按钮的“tooltiptext”属性中输入相应的提示,重要的是要把表单的“showtips”属性设为.t.-真。
6、建立图象控件image1,其“backstyle”属性均为0-透明,选择help图片

。
7、建立计时器控件timer1,其“interval”属性值为1000,双击该控件,在“init”过程中输入:
publ
n
n=0
在“timer”过程中输入:
n=n+1
thisform.image1.visible=iif(mod(n,2)=1,.f.,.t.)
其作用是每隔1000毫秒,使图象image1显示和不显示交换,出现闪烁效果。
8、建立ActiveX控件“农历控件”:calendar.ocx.在表单控件中选择ActiveX控件按钮,在表单的空白处点击一下,出现插入对象对话框(图4-2),选择插入控件,填加calendar.ocx.如果你的电脑中没有calendar.ocx可按此
下载农历控件,下载后按"填加控件"按钮,选择农历控件calendar.ocx,将其添加到控件类型中,再选择"农历控件.calendar",按"确定"按钮.将其name值改为“nli”。

9、下面我们再返回到表单,设置其标题“人体状态测试”;图标(

)
;其“borderstyle”属性为2-固定对话框(运行时不能调整窗口大小),其“width=605”,“height=298”;其“maxbutton”为.f.-假,“minbutton”为.f.-假(去掉最大化和最小化按钮);其“windowtype”为1-模式(在此表单运行时不能运行其它表单)。下面我们输入一些命令。
(1)在form1.init中输入:
public
today,nongli,tub1,tub2,thyear,thmonth,thday,getdatec,MYT1
today=date()
getdatec=date()
thisform.nli.DateNow = today &&设置待转换的阳历日期
nl1 =
thisform.nli.ChineseDate &&获得农历日期
nl2 =
thisform.nli.ChineseGanZhi &&获得农历干支年份表示
nl3 =
thisform.nli.ChineseAnimal &&获得农历属相
nl4=
thisform.nli.ChineseSolarTerm &&获得农历气节
MYT1="农历
"+nl2+nl1+" "+nl3+" "+nl4
nongli="今天是:农历"+nl2+nl1+nl3+"年"+nl4
set help to
..\myhelp
(2)在form.activate中输入:
TX1=""
FOR I=-7 TO
7
CDAY=RIGHT('0'+allt(STR(DAY(today+I))),2)
TX1=TX1+CDAY+"
"
endfor
thyear=year(today)
thmonth=month(today)
thday=day(today)
THISFORM.FORECOLOR=RGB(255,0,0)
FOR
X=-7 TO
6
tub1=160-sin(2*PI()*MOD((today-getdatec+X),23)/23)*80
tub2=160-sin(2*PI()*MOD((today-getdatec+X+1),23)/23)*80
THISFORM.LINE(400+X*20,TUB1,400+X*20+20,TUB2)
ENDFOR
THISFORM.FORECOLOR=RGB(0,255,0)
FOR
X=-7 TO
6
tub1=160-sin(2*PI()*MOD((today-getdatec+X),33)/33)*80
tub2=160-sin(2*PI()*MOD((today-getdatec+X+1),33)/33)*80
THISFORM.LINE(400+X*20,TUB1,400+X*20+20,TUB2)
ENDFOR
THISFORM.FORECOLOR=RGB(0,0,255)
FOR
X=-7 TO
6
tub1=160-sin(2*PI()*MOD((today-getdatec+X),28)/28)*80
tub2=160-sin(2*PI()*MOD((today-getdatec+X+1),28)/28)*80
THISFORM.LINE(400+X*20,TUB1,400+X*20+20,TUB2)
ENDFOR
10、退出按钮的click过程:thisform.release
11、后退30天按钮的click过程:
THISFORM.CLS
today=today-30
thisform.refresh
thisform.activate()
thisform.refresh
12、后退一周按钮的click过程:
THISFORM.CLS
today=today-7
thisform.refresh
thisform.activate()
thisform.refresh
13、后退一天按钮的click过程:
THISFORM.CLS
today=today-1
thisform.refresh
thisform.activate()
thisform.refresh
14、今天按钮的click过程:
THISFORM.CLS
today=date()
thisform.refresh
thisform.activate()
thisform.refresh
15、前进一天按钮的click过程:
THISFORM.CLS
today=today+1
thisform.refresh
thisform.activate()
thisform.refresh
16、同理前进一周和前进30天按钮的click过程的内容只是改一下today表达式。
17、图象image1的click过程:help
18、(1)文本框text1的lostfocus过程:
*设置待转换的阳历日期
thisform.nli.DateNow =getdatec
*获得农历日期
nl1 =
thisform.nli.ChineseDate
*获得农历干支年份表示
nl2 =
thisform.nli.ChineseGanZhi
*获得农历属相
nl3 =
thisform.nli.ChineseAnimal
*获得农历气节
nl4=
thisform.nli.ChineseSolarTerm
MYT1="农历 "+nl2+nl1+" "+nl3+"
"+nl4
THISFORM.CLS
thisform.refresh
thisform.activate()
thisform.refresh
(2)文本框text1的programmaticchange过程:
thisform.activate()
thisform.refresh
(3)文本框text1的属性“inputmask”设为“99-99-9999”。
保存此表单stcs 。其帮助文件myhelp.hlp(
下载)放在D:\DEMO\下,以后程序编译后要把帮助文件放在安装目录下,否则会出现找不到文件错误。现在可以在主菜单填加‘身体状态测试’菜单条,命令为‘do
form stcs’,
别忘了生成菜单程序呀!