VFP及其应用系统开发.ppt
《VFP及其应用系统开发.ppt》由会员分享,可在线阅读,更多相关《VFP及其应用系统开发.ppt(44页珍藏版)》请在三一办公上搜索。
1、第六章 表单设计基础6.1 表单向导,打开向导选取对话框:在工具菜单的向导子菜单中选定表单命令。,单表表单向导与一对多表单向导,6.2 表单设计器,创建和运行表单的基本步骤打开表单设计器 MODIFY FORM 文件名对象操作与编码:表单设计器,数据环境设计器,表单控件工具栏 保存表单运行表单:例如 DO FORM SBQ 快速创建表单:表单菜单的快速表单命令,6.3 面向对象的程序设计方法,对象控件容器 属性事件方法程序,表6.3 属性选列,表6.4 VFP部分常见事件表,方法程序一例:Refresh方法程序 Form.Object.Refresh 功能:重画表单或控件,并刷新所有的值。,对
2、象引用,对象引用规则(1)通常用以下引用关键字开头:THISFORMSET 表示当前表单集(表单集的概念参阅节)THISFORM 表示当前表单 THIS 表示当前对象(2)引用格式:引用关键字后跟一个点号,再写出被引用对象或者对象的属性,事件或方法程序。例如:THIS.Caption&本对象(表单或控件)的Caption属性THISFORM.Cls&本表单的Cls方法程序,清除表单中的图形和文本THISFORM.Command1.Caption&本表单的Command1命令按钮的Caption属性THIS.Command1.Click&本对象的Command1命令按钮的Click事件(3)控件
3、也可引用包含它的容器,格式为:Control.Parent 其中Control表示控件,Parent表示容器。例如THIS.Parent.Command1.Caption,表示引用本对象的容器(例如表单)的Command1命令按钮的Caption属性。,编程方式设置属性值属性值设置格式:ObjectName.Property=Setting其中Setting为要设置的属性值。例如,THIS.FontBold=.T.&本对象文本以粗体显示=time()&本对象的容器的caption属性设置为当前时间 例6-4 设计只含一个文本框控件的表单(见图6.17),要求逐次单击文本框的内部能轮流显示当前日
4、期与时间,试写出设计步骤。(1)创建表单:往命令窗口键入命令MODIFY FORM rqsj,使显示rqsj表单设计器窗口。(2)创建文本框:单击表单控件工具栏中的文本框按钮,然后单击Form1表单窗口内某处,该处就会产生一个Text1文本框控件。(3)将表单的Caption属性改为“日期与时间”:单击表单窗口,属性窗口的组合框中便显示Form1在属性列表中选定Caption属性在文本框中输入日期与时间字样,按回车键后表单窗口的标题栏就会显示这些文字。,(4)表单的Load事件代码的设置:双击表单窗口打开代码编辑窗口在对象组合框中确定表单选项,并在过程组合框中确定Load事件选项在列表框中输入
5、以下代码:PUBLIC i&Load事件在表单装入内存时触发,设置I为公共变量(5)文本框的Click事件代码编写如下:IF i=.T.&变量I用于控制轮流显示 THISFORM.TEXT1.VALUE=DATE()&本表单的文本框的值设置为当前日期 THISFORM.TEXT1.DateFormat=12&日期格式设置为年月日次序 THISFORM.TEXT1.DateMark=.&年月日间隔符设置为点号 i=.F.&触发Click事件I值就变反 ELSE THISFORM.TEXT1.VALUE=TIME()&本表单的文本框的值设置为当前时间 i=.T.&触发Click事件I值就变反 EN
6、DIF,第七章 表单控件设计7.1 输出类控件,标签(Label)属性选介(1)使标签区域自动调整为与标题文本大小一致:可将AutoSize属性设置为.T.。(2)使标签的标题竖排:先将WordWrap属性设置为.T.,然后在水平方向压缩标签区域迫使文字换行。(3)使标签与表单背景颜色一致:将BackStyle属性设置为0(透明)(4)使标签带有边框:将BorderStyle属性设置为1(单选框)图象(Image)、线条(Line)与形状(Shape)创建图象的步骤如下:在表单上创建一个图象控件在属性窗口选定Picture属性,并通过文本框右侧的对话按钮选定一个图象,该图象即显示在图象控件处。
7、线条控件用于在表单上画各种类型的线条,包括斜线、水平线和垂直线。形状控件用于在表单上画出各种类型的形状,包括矩形、圆角矩形、正方形、圆角正方形,椭圆或圆。,表7.3 形状控件的形状设置,例7-1 设计如图7.1所示的应用程序封面。(1)创建表单FM.SCX。(2)在表单上创建标签和形状控件各1个。(3)设置属性:详见表7.4(4)将封面的文字置前于椭圆:选定Label1,然后在布局工具栏中选定“置前”按钮。若已置前,则该步骤可省。(5)Form1的RightClick事件代码编写如下:THISFORM.Release&右击表单执行Release方法程序,从内存释放该表单,表7.4“封面”属性设
8、置,7.2 输入类控件,文本框(Text)文本框的值Value属性 焦点 控件设置焦点方法程序格式:Control.SetFocus获得焦点事件(GotFocus Event)失去焦点事件(LostFocus Event)控件的数据绑定 ControlSource属性 文本框生成器 编辑框(Edit),列表框(List)列表框生成器 例7-3 在列表框中填充SB表的编号和名称两个字段,要求选定列表框的任一项,就能使文本框中显示编号字段值。(1)在表单中创建1个列表框控件和1个文本框控件。(2)打开列表框生成器在列表项选项卡的“用此填充列表”组合框中选定“表或视图中的字段”选项如图7.4(a1)
9、所示,通过对话按钮选出SB表,然后将编号和名称字段从可用字段列表添入选定字段列表中按确定按钮。(3)List1的Interactive Change事件代码编写如下:THISFORM.Text1.Value=THIS.Value&将列表框选项值赋给文本框,(a1),表7.5 列表框、组合框控件的值源类型,组合框(Combo)下拉组合框Style属性值 0下拉列表框 Style属性值1 控件值源的类型,例7-4 试用BMDM表的代码来修改SB表的部门字段。要求SB表在列表框显示,BMDM表在组合框显示;并且当列表框确定一个记录后,便可用组合框的选项来替代SB表的部门字段值。(1)在表单上创建2个
10、标签,1个列表框和1个组合框。(2)在数据环境中添加SB表和BMDM。注意,若存在关联联线则将它取消。(3)属性设置:见表7.7。(4)Combo1的InteractiveChange 事件代码编写如下:THISFORM.LIST1.Refresh&在组合框列表中选项并替代SB.部门后更新列表框的显示(5)Form1的Init事件代码编写如下:THISFORM.Combo1.Enabled=.F.&使初始时不能操作组合框,只可在列表框先确定记录(6)List1的InteractiveChange 事件代码编写如下:THISFORM.Combo1.Enabled=.T.&列表框操作后即允许组合框
11、操作(7)List1的Init事件代码编写如下:SET ORDER TO TAG 编号&使列表按设备编号次序显示(假定SB表中该索引标识已存在),表7.7“用BMDM表修改SB表的部门”属性设置,例7-6 在表单上创建1个组合框和1个文本框,要求如下:(1)组合框的列表包含SB表的编号字段值。(2)能在组合框中为其列表键入新选项。(3)若选取组合框列表中的项(也可以是刚添入的新选项),便能将它送入文本框。假定组合框和文本框已在表单上创建(图略),下面列出主要的属性和事件代码。(1)Combo1属性设置 Style:0(默认值,表示组合框类型为下拉组合框)RowSourceType:6(表示控件
12、值源类型为字段)RowSource:SB.编号(在数据环境中添加SB表后,就能在属性窗口选取字段)(2)Combo1的KeyPress事件代码编写如下:LPARAMETERS nKeyCode,nShiftAltCtrl IF nKeyCode=13&按回车键则条件表达式返回.T.IF This.ListIndex=0&组合框列表中无此键入值返回.T.,才允许添加数据 THIS.RowSourceType=0&控件值源类型设置为可用AddItem方法程序添加数据 THIS.AddItem(THIS.DisplayValue)&键入值添入列表末尾 THIS.Value=THIS.DisplayV
13、alue&使键入值立即成为列表中的选项 INSERT INTO vfpexsb(编号)VALUES(THIS.DisplayValue)&INSERT-SQL命令在SB表末尾添加一个记录,并将键入值存入该记录的编号字段 THIS.RowSourceType=6&恢复控件值源类型为字段 ENDIF ENDIF(3)Combo1的Interactive Change事件代码编写如下:THISFORM.Text1.Value=THIS.Value,微调控件(Spinner)属性选介(1)Value:表示微调控件的当前值。(2)KeyBoardHighValue:设定键盘输入数值高限。(3)KeyBo
14、ardLowValue:设定键盘输入数值低限。(4)SpinnerHighValue:设定按钮微调数值高限。(5)SpinnerLowValue:设定按钮微调数值低限。(6)Increment:设定按一次箭头按钮的增减数,默认为1.00。若设置为1.50 则增减数为1.5。(7)InputMask:设置输入掩码。微调控件默认带两位小数,若只要整数可用输入掩码来限定,例如999999表示6位整数。若微调控件绑定到表的字段,则输入掩码位数不得小于字段宽度,否则将显示一串*号。事件选介(1)DownClick Event:按微调控件的向下按钮事件。(2)UpClick Event:按微调控件的向上按
15、钮事件。,7.3 控制类控件,命令按钮(Command)例7-7 设计一个如图7.8所示的密码输入窗口,要求最多允许输入3次密码。(1)创建一个表单,然后在其中创建标签和文本框各1个,命令按钮2个。(2)属性设置:见表7.8。(3)Form1的Load事件代码编写如下:public i&i用于计算输入次数 i=0(4)Command1的Click事件代码编写如下:i=i+1IF THISFORM.Text1.Value=123456&文本框输入值与123456(预置的密码)比较 THISFORM.Release&本表单从内存释放ELSE IF i3&允许输入3次 MESSAGEBOX(密码错,
16、请重新输入!)THISFORM.Text1.Value=&为重新输入清空文本框 THISFORM.Text1.Setfocus&使文本框获得焦点,就是使光标在其中闪烁 ELSE MESSAGEBOX(密码错,禁止进入系统!)THISFORM.Release ENDIFENDIF,表7.8“密码输入”属性设置,(5)Command2的Click事件代码编写如下:THISFORM.Release,命令按钮组(Commandgroup)命令按钮组生成器 Click事件的判别 例如图7.11中,Commandgroup1的Click事件代码编写如下:DO CASE CASE THIS.Value=1&
17、单击Command1命令按钮(下页)返回.T.IF recno()1&防止上移出界 SKIP-1 ENDIF THISFORM.Refresh CASE THIS.Value=3&单击Command3命令按钮(退出)返回.T.THISFORM.Release&表单从内存释放 ENDCASE,复选框(Check)复选框的值 Value属性:0或.F.表示清除;1或.T.表示选定;2表示灰色状态。其中数字为默认值。选项按钮组(Optiongroup)选项按钮的Value属性:1表示选定,0表示未选定。选项按钮组的Value属性:表明被选定按钮的序号,默认为1。例如第2个按钮被选定时Value值为2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 及其 应用 系统 开发

链接地址:https://www.31ppt.com/p-6522853.html