第7章表单控件设计 (Visual FoxPro 及其应用系统开发 谭浩强 主编).ppt_第1页
第7章表单控件设计 (Visual FoxPro 及其应用系统开发 谭浩强 主编).ppt_第2页
第7章表单控件设计 (Visual FoxPro 及其应用系统开发 谭浩强 主编).ppt_第3页
第7章表单控件设计 (Visual FoxPro 及其应用系统开发 谭浩强 主编).ppt_第4页
第7章表单控件设计 (Visual FoxPro 及其应用系统开发 谭浩强 主编).ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 表单控件设计,7.1 输出类控件,标签(Label) 属性选介 (1) 使标签区域自动调整为与标题文本大小一致:可将AutoSize属性设置为.T.。 (2) 使标签的标题竖排:先将WordWrap属性设置为.T.,然后在水平方向压缩标签区域迫使文字换行。 (3) 使标签与表单背景颜色一致:将BackStyle属性设置为0(透明) (4) 使标签带有边框:将BorderStyle属性设置为1(单选框) 图象(Image)、线条(Line)与形状(Shape) 创建图象的步骤如下: 在表单上创建一个图象控件在属性窗口选定Picture属性,并通过文本框右侧的对话按钮选定一个图象, 该图象

2、即显示在图象控件处。 线条控件用于在表单上画各种类型的线条,包括斜线、水平线和垂直线。 形状控件用于在表单上画出各种类型的形状,包括矩形、圆角矩形、正方形、圆角正方形,椭圆或圆。,表7.3 形状控件的形状设置,例7-1 设计如图7.1所示的应用程序封面。 (1) 创建表单FM.SCX。 (2) 在表单上创建标签和形状控件各1个。 (3) 设置属性:详见表7.4 (4) 将封面的文字置前于椭圆:选定Label1,然后在布局工具栏中选定“置前”按钮。若已置前,则该步骤可省。 (5) Form1的RightClick事件代码编写如下: THISFORM.Release & 右击表单执行Release

3、方法程序,从内存释放该表单,表7.4 “封面”属性设置,7.2 输入类控件,文本框(Text) 文本框的值Value属性 焦点 控件设置焦点方法程序格式:Control.SetFocus 获得焦点事件(GotFocus Event) 失去焦点事件(LostFocus Event) 控件的数据绑定 ControlSource属性 文本框生成器 编辑框(Edit),列表框(List) 列表框生成器 例7-3 在列表框中填充SB表的编号和名称两个字段,要求选定列表框的任一项,就能使文本框中显示编号字段值。 (1) 在表单中创建1个列表框控件和1个文本框控件。 (2) 打开列表框生成器在列表项选项卡的

4、“用此填充列表”组合框中选定“表或视图中的字段”选项如图7.4(a1)所示,通过对话按钮选出SB表,然后将编号和名称字段从可用字段列表添入选定字段列表中按确定按钮。 (3) List1的Interactive Change事件代码编写如下: THISFORM.Text1.Value=THIS.Value & 将列表框选项值赋给文本框,(a1),表7.5 列表框、组合框控件的值源类型,组合框(Combo) 下拉组合框Style属性值 0 下拉列表框 Style属性值1 控件值源的类型,例7-4 试用BMDM表的代码来修改SB表的部门字段。要求SB表在列表框显示, BMDM表在组合框显示;并且当列

5、表框确定一个记录后,便可用组合框的选项来替代SB表的部门字段值。 (1) 在表单上创建2个标签,1个列表框和1个组合框。 (2) 在数据环境中添加SB表和BMDM。 注意,若存在关联联线则将它取消。 (3) 属性设置:见表7.7。 (4) Combo1的InteractiveChange 事件代码编写如下: THISFORM.LIST1.Refresh & 在组合框列表中选项并替代SB.部门后更新列表框的显示 (5) Form1的Init事件代码编写如下: THISFORM.Combo1.Enabled=.F. & 使初始时不能操作组合框,只可在列表框先确定记录 (6) List1的Inter

6、activeChange 事件代码编写如下: THISFORM.Combo1.Enabled=.T. & 列表框操作后即允许组合框操作 (7) List1的Init事件代码编写如下: SET ORDER TO TAG 编号 & 使列表按设备编号次序显示(假定SB表中该索引标识已存在),表7.7 “用BMDM表修改SB表的部门”属性设置,例7-6 在表单上创建1个组合框和1个文本框,要求如下: (1) 组合框的列表包含SB表的编号字段值。 (2) 能在组合框中为其列表键入新选项。 (3) 若选取组合框列表中的项(也可以是刚添入的新选项),便能将它送入文本框。 假定组合框和文本框已在表单上创建(图

7、略),下面列出主要的属性和事件代码。 (1) Combo1属性设置 Style:0 (默认值,表示组合框类型为下拉组合框) RowSourceType: 6 (表示控件值源类型为字段) RowSource:SB.编号 (在数据环境中添加SB表后,就能在属性窗口选取字段) (2) Combo1的KeyPress事件代码编写如下: LPARAMETERS nKeyCode, nShiftAltCtrl IF nKeyCode = 13 & 按回车键则条件表达式返回.T. IF This.ListIndex=0 & 组合框列表中无此键入值返回.T.,才允许添加数据 THIS.RowSourceTyp

8、e=0 & 控件值源类型设置为可用AddItem方法程序添加数据 THIS.AddItem(THIS.DisplayValue) & 键入值添入列表末尾 THIS.Value=THIS.DisplayValue & 使键入值立即成为列表中的选项 INSERT INTO vfpexsb(编号) VALUES(THIS.DisplayValue) & INSERT-SQL命令在SB表末尾添加一个记录,并将键入值存入该记录的编号字段 THIS.RowSourceType=6 & 恢复控件值源类型为字段 ENDIF ENDIF (3) Combo1的Interactive Change事件代码编写如下

9、: THISFORM.Text1.Value=THIS.Value,微调控件(Spinner) 属性选介 (1) Value:表示微调控件的当前值。 (2) KeyBoardHighValue:设定键盘输入数值高限。 (3) KeyBoardLowValue:设定键盘输入数值低限。 (4) SpinnerHighValue:设定按钮微调数值高限。 (5) SpinnerLowValue:设定按钮微调数值低限。 (6) Increment:设定按一次箭头按钮的增减数,默认为1.00。若设置为1.50 则增减数为1.5。 (7) InputMask:设置输入掩码。微调控件默认带两位小数,若只要整数

10、可用输入掩码来限定,例如999999表示6位整数。若微调控件绑定到表的字段,则输入掩码位数不得小于字段宽度,否则将显示一串*号。 事件选介 (1) DownClick Event:按微调控件的向下按钮事件。 (2) UpClick Event:按微调控件的向上按钮事件。,7.3 控制类控件,命令按钮(Command) 例7-7 设计一个如图7.8所示的密码输入窗口, 要求最多允许输入3次密码。 (1) 创建一个表单,然后在其中创建标签和文本框各1个,命令按钮2个。 (2) 属性设置:见表7.8。 (3) Form1的Load事件代码编写如下: public i & i用于计算输入次数 i=0

11、(4) Command1的Click事件代码编写如下: i=i+1 IF THISFORM.Text1.Value=123456 & 文本框输入值与123456(预置的密码)比较 THISFORM.Release & 本表单从内存释放 ELSE IF i3 & 允许输入3次 MESSAGEBOX(密码错,请重新输入!) THISFORM.Text1.Value= & 为重新输入清空文本框 THISFORM.Text1.Setfocus & 使文本框获得焦点,就是使光标在其中闪烁 ELSE MESSAGEBOX(密码错,禁止进入系统!) THISFORM.Release ENDIF ENDIF,

12、表7.8 “密码输入”属性设置,(5) Command2的Click事件代码编写如下: THISFORM.Release,命令按钮组(Commandgroup) 命令按钮组生成器 Click事件的判别 例如图7.11中,Commandgroup1的Click事件代码编写如下: DO CASE CASE THIS.Value =1 & 单击Command1命令按钮(下页)返回.T. IF recno()1 & 防止上移出界 SKIP -1 ENDIF THISFORM.Refresh CASE THIS.Value =3 & 单击Command3命令按钮(退出)返回.T. THISFORM.Re

13、lease & 表单从内存释放 ENDCASE,复选框(Check) 复选框的值 Value属性:0或.F.表示清除;1或.T.表示选定;2表示灰色状态。其中数字为默认值。 选项按钮组(Optiongroup) 选项按钮的Value属性:1表示选定,0表示未选定。 选项按钮组的Value属性:表明被选定按钮的序号,默认为1。例如第2个按钮被选定时Value值为2。 选项按钮组生成器 例7-11 设计一个能编辑或浏览关于设备的4个数据库表的对话框, 界面要求如图7.12所示。 (1) 在表单上创建1个复选框和2个命令按钮。 (2) 数据环境设置:在数据环境中添加SB表,BMDM表,DX表和ZZ表

14、。,表7.12 “选表编辑或浏览”部分属性设置,(3) 创建选项按钮组Optiongroup1:先在表单上创建一个选项按钮组,然后再利用选项按钮组生成器进行设置。 打开选项组生成器对话框:用表单控件工具栏的选项按钮组按钮在表单中创建一个选项按钮组,右击选项按钮组并选定快捷菜单的生成器命令。 在按钮选项卡(参阅图7.9)中进行设置:在微调控件中将按钮的数目置为4将表格标题列中4项依次改为设备表、部门表、大修表和增值表。 在布局选项卡中进行设置:将微调控件按钮间隔置为10按确定按钮关闭选项组生成器对话框将选项按钮组移到表单左部适当位置。 (4) 对其它控件的属性进行设置:见表7.12。 (5) O

15、ptiongroup1的Click事件代码编写如下: DO CASE CASE THIS.Value =1 & 选定Option1选项按钮(设备表)时返回.T. SELECT SB & 选择SB表所在工作区 CASE THIS.Value =2 & 选定Option2选项按钮(部门表)时返回.T. SELECT BMDM & 选择BMDM表所在工作区 CASE THIS.Value =3 & 选定Option3选项按钮(大修表)时返回.T. SELECT DX & 选择DX表所在工作区 CASE THIS.Value =4 & 选定Option4选项按钮(增值表)时返回.T. SELECT Z

16、Z & 选择ZZ表所在工作区 ENDCASE (6) Command1的Click事件代码编写如下: * 确定 IF THISFORM.Check1.Value=1 & Check1被选定时返回.T. BROWSE & 可编辑数据 ELSE & 若Check1未选定 BROWS NOMODIFY NOAPPEND NODELETE & 仅可浏览,不可编辑 ENDIF (7) Command2的Click事件代码编写如下: * 退出 THISFORM.Release & 表单释放,7.4 容器类控件,表格(Grid) 表格的组成 (1) 表格(Grid):由一或若干列组成。 (2) 列(Colu

17、mn):一列可显示表的一个字段,列由列标题和列控件组成。 (3) 列标题(Header1):默认显示字段名,允许修改。 (4) 列控件(例如Text1):一列必须设置一个列控件, 列控件默认为文本框。 创建表格控件 在数据环境中将表窗口的标题栏拖放到表单窗口 利用表格生成器创建 表格编辑,例7-14 设计一个如图7.16所示的表单,要求能按部门浏览所有设备数据。 (1) 创建表单,并在数据环境中建立如图7.17 所示4个表的两级一多关系。 (2) 在表单上创建1个下拉列表框,2个标签,3个表格。表格控件可从数据环境创建,即将数据环境中SB窗口的标题栏拖到表单释放,从而产生GrdSb表格。然后可

18、用同样方法创建表格GrdDx和GrdZz,如图7.16所示。表格创建后按图调整好表格位置、大小与列宽。 (3) 如图7.16所示创建矩形框形状控件,然后选定格式菜单的置后命令。 (4) 属性设置:见表7.14。 (5) Combo1的Init事件: SELECT bmdm GO BOTTOM SKIP & 故意将记录指针移到出界,以使表格在表单运行之初显示空白 (6) Combo1的Click事件: THISFORM.Label2.Caption=THISFORM.Combo1.Value+设备情况 & 标题例如“一车间设备情况”,表7.14 “按部门浏览设备”属性设置,页框(Pagefram

19、e) 例7-15 在表单上创建一个如图7.18所示含有两个页面的页框,分别用来维护SB表和BMDM表。 (1) 在表单上创建一个页框。 (2) 在数据环境中添加SB表和BMDM表。 (3) 页面标题设置:在页框中选定Page1页面,将页面的Caption 值改为设备。以同样方法将Page2页面标题改为部门。 (4) 在页面中创建表格:在页框中选定设备页面,做一个从数据环境中SB窗口标题栏到设备页面的拖放动作,页面中就会显示关于SB表的表格。以同样方法在部门页面中创建关于BMDM 表的表格。,连接类 ActiveX控件(Olecontrol) 例7-16 用滑杆控件浏览设备表的设备名称,要求滑杆

20、指向什么数值,就显示记录号为该数值的设备名。 (1) 在表单上创建1个文本框控件。 (2) 在表单上创建1个滑杆控件:从表单控件工具栏中选定ActiveX(Olecontrol)控件按钮单击表单下部某处在插入对象对话框中选定“插入控件”选项按钮在控件类型列表中选定Microsoft Slider Control,version 6.0选项选定确定按钮返回表单窗口(见图7.20)。,(3) 在数据环境中添加SB表。 (4) 将Form1表单的Caption属性设置为浏览设备名称。 (5) Olecontrol1的Init事件代码编写如下: * 滑杆指针刻度范围按表的记录数设置 THIS.Min = 1 & 刻度值最小为1 THIS.Max = RECCOUNT() & 刻度值最大与记录个数相同 (6) Olecontrol1的MouseMove事件代码编写如下: LPARAMETERS button, shift, x, y * 移动滑杆指针来显示SB表的名称字段值 * Olecontrol1:滑杆控件的Name * THISFORM.Olecontrol1.Value:滑杆指针所在刻度的值 GO THISFORM.Olecontrol1.Value & 记录指针指向滑杆指针所在刻度 THISFORM.Text1.Va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论