《第八章表单设计及其应用.ppt》由会员分享,可在线阅读,更多相关《第八章表单设计及其应用.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章表单设计及应用表单设计及应用1/22/20231第八章第八章 表单设计及其应用表单设计及其应用主要授课内容主要授课内容:8.1 创建表单创建表单8.2 表单设计器表单设计器8.4 表单及控件设计表单及控件设计8.3 表单的数据环境表单的数据环境1/22/202328.1 8.1 创建表单创建表单1.1.使用表单设计器创建表单使用表单设计器创建表单(1)(1)菜单方式菜单方式(2)(2)命令方式命令方式 CREATE FORM CREATE FORM 表单文件名表单文件名2.2.使用表单向导创建表单使用表单向导创建表单3.3.保存、修改和运行表单保存、修改和运行表单修改:修改:MOD
2、I FORM MODI FORM 表单文件名表单文件名运行:运行:DO FORM DO FORM 表单文件名表单文件名1/22/202331.1.表单设计器环境表单设计器环境2.2.表单控件工具栏表单控件工具栏3.3.属性窗口属性窗口8.2 8.2 表单设计器表单设计器1/22/202341.数据环境设计器数据环境设计器(1)(1)选择显示选择显示|数据环境命令数据环境命令(2)(2)右击表单界面右击表单界面,选数据环境选数据环境8.3 8.3 表单的数据环境表单的数据环境2.2.数据环境中数据表和字段的处理方法数据环境中数据表和字段的处理方法1/22/202358.4 8.4 表单及控件设计
3、表单及控件设计8.4.18.4.1无控件表单设计无控件表单设计8.4.28.4.2标签控件标签控件8.4.38.4.3文本框控件文本框控件8.4.48.4.4命令按钮控件命令按钮控件8.4.58.4.5组合框控件组合框控件8.4.68.4.6列表框控件列表框控件8.4.78.4.7复选框控件复选框控件8.4.88.4.8选项按钮组控件选项按钮组控件8.4.98.4.9计时器控件设计计时器控件设计8.4.108.4.10编辑框控件编辑框控件8.4.118.4.11微调控件微调控件8.4.128.4.12命令按钮组控件命令按钮组控件8.4.138.4.13表格控件表格控件8.4.148.4.14页
4、框控件页框控件8.4.158.4.15图像控件图像控件8.4.88.4.8线条和形状控件线条和形状控件讲述内容讲述内容:1/22/20236 例例11 :设计一个表单,实现标签文字边移:设计一个表单,实现标签文字边移动边变色。动边变色。讲述内容:无控件表单讲述内容:无控件表单 标签控件标签控件 计时器控件计时器控件 计时器计时器timertimer事件事件 设计步骤如下:设计步骤如下:我们通过以下实例来介绍各种控件我们通过以下实例来介绍各种控件:1/22/20237 步骤步骤11设计一个名为设计一个名为“移动变色移动变色”的无控件表单的无控件表单:设计一个无控件的表单设计一个无控件的表单基本属
5、性如下:基本属性如下:CAPTIONCAPTION:移动变色:移动变色TOPTOP:7777LEFTLEFT:2020HEIGHTHEIGHT:177177WIDTHWIDTH:330330AUTOCENTERAUTOCENTER:.T.T.Alwaysontop:.t.Alwaysontop:.t.1/22/20238标标 签控件签控件 标签控件是按一定格式显示在表单上的文本信息标签控件是按一定格式显示在表单上的文本信息,用来用来显示表单中各种说明和提示。标签的主要属性有显示表单中各种说明和提示。标签的主要属性有:标签的大标签的大小小,颜色颜色,以及显示信息的内容以及显示信息的内容,字体大小
6、字体大小,风格等。风格等。步骤步骤22在无控件表单上设计一标签控件:在无控件表单上设计一标签控件:主要属性如下:主要属性如下:CAPTIONCAPTION:同学们再见:同学们再见TOPTOP:96 LEFT96 LEFT:3636Name:lbl1Name:lbl1Name:lbl1Name:lbl1FONTSIZEFONTSIZE:3636FORECOLORFORECOLOR:红红AUTOSIZEAUTOSIZEAUTOSIZEAUTOSIZE:.T.T.T.T.BACKSTYLE:0-BACKSTYLE:0-透明透明1/22/20239计时器控件计时器控件 计时器控件主要利用系统时钟来控制
7、某计时器控件主要利用系统时钟来控制某些具有规律性的周期任务的定时操作。些具有规律性的周期任务的定时操作。计时器控件不能单独使用,必须与表单计时器控件不能单独使用,必须与表单等一起使用。等一起使用。它的主要属性:它的主要属性:enabled,intervalenabled,intervalEnabledEnabled用于控制计时器的打开与关闭。用于控制计时器的打开与关闭。IntervalInterval用于定义两次计时器事件触发的用于定义两次计时器事件触发的时间间隔时间间隔,单位为毫秒。单位为毫秒。1/22/202310标签标签计时器计时器计时器的主要属计时器的主要属性如下:性如下:Enable
8、d:.t.Enabled:.t.Interval:500Interval:500 步骤步骤33在表单上设计一计时器控件:在表单上设计一计时器控件:1/22/202311 步骤步骤4 4 计时器计时器timertimer事件代码事件代码:a=int(rand()*255)+1b=int(rand()*255)+1c=int(rand()*255)+1thisform.lbl1.forecolor=rgb(a,b,c)if thisform.lbl1.left=100thisform.label1.fontsize=10elsethisform.label1.fontsize=thisform.l
9、abel1.fontsize+5endif 1/22/202321 例例55:文字变化:文字变化 讲述内容:列表框讲述内容:列表框 组合框组合框 复选框复选框 选项按钮组选项按钮组设计结果如下:设计结果如下:1/22/2023221.1.列表框(列表框(listlist)主要用来显示选择项,用户可以从中选择一个主要用来显示选择项,用户可以从中选择一个或多个数据项。或多个数据项。主要属性:主要属性:RowsourceRowsource RowsourcetypeRowsourcetype 当当rowsourcetyperowsourcetype 设置值为设置值为1,1,值源类型为值值源类型为值R
10、owsourceRowsource写出具体值,之间逗号相隔写出具体值,之间逗号相隔.当当rowsourcetyperowsourcetype 设置值为设置值为6,6,值源类型为字段值源类型为字段,rowsourcerowsource选择所需字段选择所需字段.1/22/202323 步骤步骤11新建表单,画出列表框(新建表单,画出列表框(list1)list1),并设置如下属性:并设置如下属性:RowsourcetypeRowsourcetype 1 1 值值 RowsourceRowsource 黑体黑体,宋体宋体,华文行楷华文行楷,隶书隶书 (注意逗号注意逗号)运行结果如右图:运行结果如右图
11、:1/22/2023242.2.组合框组合框 组合框用于在列表框中选取数据并显示在编辑组合框用于在列表框中选取数据并显示在编辑窗口,它有两种形式窗口,它有两种形式:下拉列表框,下拉组合框。下拉列表框,下拉组合框。主要属性:主要属性:style style rowsourcerowsource rowsourcetyperowsourcetype listindexlistindex stypestype 为为0 0时表示下拉组合框,时表示下拉组合框,为为2 2时表示下拉列表框。时表示下拉列表框。下拉组合框可手写,下拉列表框只能选择。下拉组合框可手写,下拉列表框只能选择。rowsourcetyp
12、erowsourcetype 和和 rowsourcerowsource同列表框同列表框 ListindexListindex 指定索引值。指定索引值。1/22/202325 步骤步骤2 2 画出组合框,并设置如下属性:画出组合框,并设置如下属性:stypestype 0 0 RowsourcetypeRowsourcetype 1 1 值值 RowsourceRowsource 红红,黄黄,绿绿,黑黑 (注意逗号注意逗号)输入输入form1form1的的initinit事件代码(即初始化事件)为:事件代码(即初始化事件)为:bo1.listindex=bo1.listindex=1运行结果如
13、右图:运行结果如右图:注意注意stypestype属性。属性。1/22/2023263.3.复选框复选框 可以通过单击改变它的状态。可以通过单击改变它的状态。复选框的主要属性是复选框的主要属性是:caption caption value value controlsourcecontrolsource Caption Caption 显示在复选框边上的文本显示在复选框边上的文本当当valuevalue值为值为0 0时时,表示没有选择复选框表示没有选择复选框,当当valuevalue值为值为1 1时时,表示选中了复选框表示选中了复选框,当当valuevalue值为值为2 2时时,复选框显示灰色
14、。复选框显示灰色。1/22/202327 步骤步骤3 3 画出画出3 3个复选框,个复选框,并分别设置并分别设置Check1Check1的的captioncaption属性为:下划线属性为:下划线Check2Check2的的captioncaption属性为:倾斜属性为:倾斜Check3Check3的的captioncaption属性为:加粗属性为:加粗 运行结果如下:运行结果如下:1/22/2023284.4.选项按钮组(选项按钮组(optiongroupoptiongroup)它可以包含多个选项,通常用于从多项选择它可以包含多个选项,通常用于从多项选择中选择其一。中选择其一。主要属性:主要
15、属性:buttoncountbuttoncount 指定按钮个数指定按钮个数 value value 选择第几个按钮选择第几个按钮 按钮组中按钮按钮组中按钮(option)(option)的主要属性:的主要属性:caption caption 显示在按钮边上的文本显示在按钮边上的文本1/22/202329 步骤步骤4 4 画出画出1 1个选项按钮组,个选项按钮组,设置按钮个数为:设置按钮个数为:4 4个个option1option1的的captioncaption属性为:属性为:1010option2option2的的captioncaption属性为:属性为:2020option3optio
16、n3的的captioncaption属性为:属性为:3030option3option3的的captioncaption属性为:属性为:4040 注意:选项按钮注意:选项按钮组为容器类控件,组为容器类控件,右键右键-编辑去设编辑去设置按钮的具体属置按钮的具体属性。性。1/22/202330 步骤步骤55设置设置form1form1的属性如下:的属性如下:caption caption 文化变化文化变化 autocenterautocenter .t.t.步骤步骤66表单上画一标签,并设置如下属性:表单上画一标签,并设置如下属性:caption caption 文字变化文字变化 autosize
17、autosize .t.t.fontsizefontsize 24 24最后设计界面最后设计界面如右图:如右图:1/22/202331 步骤步骤7 7 编写列表框编写列表框(list1)(list1)的单击事件的单击事件(click)(click)代码代码:do case case this.value=黑体黑体 thisform.label1.fontname=黑体黑体 case this.value=宋体宋体 thisform.label1.fontname=宋体宋体 case this.value=华文行楷华文行楷 thisform.label1.fontname=华文行楷华文行楷 ca
18、se this.value=隶书隶书 thisform.label1.fontname=隶书隶书endcase注意代码别写错地方了注意代码别写错地方了!1/22/202332 步骤步骤8 8 编写组合框编写组合框(combo1)(combo1)的的clickclick事件代码事件代码:do case case this.value=红红 thisform.label1.forecolor=rgb(255,0,0)case this.value=黄黄 thisform.label1.forecolor=rgb(255,255,0)case this.value=绿绿 thisform.label
19、1.forecolor=rgb(0,255,0)case this.value=黑黑 thisform.label1.forecolor=rgb(0,0,0)endcase1/22/202333 步骤步骤9 9 编写复选框编写复选框(check1)(check1)的的clickclick事件代码事件代码:IF THIS.VALUE=1 THISFORM.LABEL1.FONTBOLD=.T.ELSE THISFORM.LABEL1.FONTBOLD=.F.ENDIF复选框复选框2 2和和3 3提示提示:倾斜倾斜:fontitalicfontitalic 加粗加粗:fontboldfontbol
20、d1/22/202334 步骤步骤10 10 编写复选框编写复选框(check1)(check1)的的clickclick事件代码事件代码:do case case this.value=1 thisform.label1.fontsize=10 case this.value=2 thisform.label1.fontsize=20 case this.value=3 thisform.label1.fontsize=30 case this.value=4 thisform.label1.fontsize=40endcase文字变化例题结束文字变化例题结束,共共1010步骤步骤!1/22
21、/202335课堂练习课堂练习:文件名为文件名为My_form11,My_form11,有一组合框,有一组合框,rowsourcetyperowsourcetype=1=1 rowsourcerowsource=农电农电,农发农发 ,植保植保有一文本框。有一文本框。功能功能:当在组合框中选定一专业后,立刻在文当在组合框中选定一专业后,立刻在文本框中显示此专业全称,农电为本框中显示此专业全称,农电为“农业电气与自动农业电气与自动化化”,农发为,农发为“农村区域发展农村区域发展”,植保为,植保为“植物保植物保护护”。1/22/202336微调控件微调控件 可在微调控件框中输入一个值,或通过按钮选择
22、一个可在微调控件框中输入一个值,或通过按钮选择一个值,其作用是确保数据的使用范围。一般情况下,它主要值,其作用是确保数据的使用范围。一般情况下,它主要用于数值型数据的输入。用于数值型数据的输入。属性主要包括:属性主要包括:Keyboardhighvalue 输入的最大值。输入的最大值。Keyboardlowvalue 输入的最小值。输入的最小值。Increment 每次单击按钮的增减值。每次单击按钮的增减值。Value 初始值。初始值。Spinnerhighvalue 单击按钮所能达到的最大值单击按钮所能达到的最大值 Spinnerlowvalue 单击按钮所能达到的最小值单击按钮所能达到的最
23、小值1/22/202337 例例66加减乘除计算加减乘除计算设计一个名为设计一个名为 my_formamy_forma的表单如图所示的表单如图所示:表单上有一个标签:表单上有一个标签:namename为为lala,红色,红色,2020号字,号字,autosizeautosize为为.t.t.两个微调控件两个微调控件:namename分别为分别为s1s1,s2;s2;最小值为最小值为1 1,最大值,最大值为为100100,增减量为,增减量为1 1,初始值为,初始值为1010。一个单选按钮组:一个单选按钮组:4 4个按钮个按钮:CaptionCaption分别为加,减,乘,除。分别为加,减,乘,除
24、。1/22/202338提示:代码写到单选按钮组的提示:代码写到单选按钮组的interactivechange事件或事件或click事件中。事件中。代码提示:代码提示:thisform.la.caption=str(thisform.s1.value+thisform.s2.value)功能:功能:lala上显示上显示s1s1和和s2s2的加或减或乘或除的值。的加或减或乘或除的值。1/22/202339 例例77累加及阶层计算累加及阶层计算设计一个名为设计一个名为 my_formbmy_formb的表单如图所示的表单如图所示:1 1个文本框名字为个文本框名字为txt1txt12 2个微调名字分
25、别为个微调名字分别为sp1,sp2sp1,sp2,sp1sp1最大值为最大值为5050,最小值,最小值为为1 1,sp2sp2最大值为最大值为9090,最小值为,最小值为5151,增加或减少量为,增加或减少量为2 22 2个复选框名字分别为个复选框名字分别为chk1,chk2chk1,chk2;初值初值value=0value=01/22/202340表单功能为:表单功能为:用微调选择数值进行运算,单击求阶层,用微调选择数值进行运算,单击求阶层,求出求出sp1sp1至至sp2sp2中数值之间的阶层值存放在中数值之间的阶层值存放在p p变量中,同变量中,同时显示在时显示在txt1txt1中,如中
26、,如sp1sp1中中5656,sp2sp2中中8181,则求,则求p=56*57*58*.*81p=56*57*58*.*81单击求累加,求出单击求累加,求出sp1sp1至至sp2sp2中数值之间的累加和存放在中数值之间的累加和存放在s s变量中,同时显示在变量中,同时显示在txt1txt1中,如中,如sp1sp1中中6060,sp2sp2中中9090,则求则求s=60+61+62+.+90s=60+61+62+.+90提示:循环用提示:循环用For For 语句,循环变量用语句,循环变量用i i。代码写到复选代码写到复选框的框的clickclick事件中。事件中。1/22/202341求阶乘
27、求阶乘p=1for i=thisform.sp1.value to thisform.sp2.value p=p*iendforthisform.txt1.value=p 求累加和求累加和s=0for i=thisform.sp1.value to thisform.sp2.value s=s+iEndforthisform.txt1.value=p代码提示:代码提示:1/22/202342 例例88查阅学生成绩情况查阅学生成绩情况所学控件:表格所学控件:表格设计步骤如下:设计步骤如下:(1 1)新建表单,画一个标签控件,显示文字:)新建表单,画一个标签控件,显示文字:学生成绩情况,并自设计字
28、体、字号等。学生成绩情况,并自设计字体、字号等。(2 2)指向表单空白处,按右键,进入数据环境)指向表单空白处,按右键,进入数据环境 填入学生、成绩、课程三个数据表。填入学生、成绩、课程三个数据表。并连线。并连线。1/22/202343(3 3)将三个数据表分别拖入表单中。)将三个数据表分别拖入表单中。(4 4)适应调整三个表格的宽度,运行。)适应调整三个表格的宽度,运行。运行结果如下:运行结果如下:1/22/202344页框控件页框控件 页框名字页框名字PageframePageframe 页框的主要属性页框的主要属性 PagecountPagecount 页框中的每一页页框中的每一页:例如
29、例如:pageframe1.page1:pageframe1.page1 例例:设计如下表单设计如下表单:有三页有三页:学生学生,成绩成绩,课程分别显示课程分别显示对应数据对应数据.1/22/202345编辑框控件编辑框控件编辑框与文本框一样,是用来输入和编辑数据的,但在编辑框与文本框一样,是用来输入和编辑数据的,但在编辑框中可以编辑备注字段的内容。编辑框中可以编辑备注字段的内容。1.1.右击表单右击表单数据环境数据环境-添入添入 学生学生.dbf.dbf2.2.对对text1text1设设controlsourcecontrolsource为学生为学生.姓名姓名3 3对对edit1edit1
30、设设controlsourcecontrolsource为学生为学生.简历简历主要方法主要方法:1/22/202346命令按扭组控件命令按扭组控件命令按扭组命令按扭组(commandgroupcommandgroup)是包含一组命令按扭的容器是包含一组命令按扭的容器,其作用与命令按扭相同其作用与命令按扭相同.书例书例8.15(2118.15(211页页)ThisThis等价于等价于mandgroup1表示命令按扭组表示命令按扭组本身本身.EofEof()()当记录指针指向了第一条记录的上边时当记录指针指向了第一条记录的上边时,函数函数值为真值为真.判断文件是否到头判断文件是否到头.bofbof
31、()()当记录指针指向了最后一条记录的下边时当记录指针指向了最后一条记录的下边时,函函数值为真数值为真.判断文件是否结束判断文件是否结束.Skip 1 Skip 1 意思是指针向下移动一条意思是指针向下移动一条.Skip -1Skip -1意思是指针向上移动一条意思是指针向上移动一条.注意注意:refresh 命令按扭组结束命令按扭组结束1/22/202347连线连线注意注意:1/22/202348F控件(控件(controlcontrol)是放在表单上用以显示数据是放在表单上用以显示数据(label)(label)、执行操作执行操作(command)(command)或使表单更易阅读或使表单更易阅读(list,shape)(list,shape)的一的一种图形对象种图形对象控件的不同以及处理任务的不同,其属性及其属控件的不同以及处理任务的不同,其属性及其属性的设置、事件处理代码和方法程序也有所不同性的设置、事件处理代码和方法程序也有所不同 根据任务,选择合适的控件1/22/2023491/22/202350