首页 VFP及其应用系统开发

VFP及其应用系统开发

举报
开通vip

VFP及其应用系统开发第六章表单设计基础6.1表单向导打开向导选取对话框:在工具菜单的向导子菜单中选定表单命令。图6.1向导选取对话框单表表单向导与一对多表单向导图6.2表单向导的字段选取图6.6设备维护表单图6.8一对多表单向导对话框的父表字段图6.11部门设备维护窗口6.2表单设计器创建和运行表单的基本步骤打开表单设计器MODIFYFORM〈文件名〉对象操作与编码:表单设计器,数据环境设计器,表单控件工具栏保存表单运行表单:例如DOFORMSBQ快速创建表单:表单菜单的快速表单命令图6.12显示快速表单的表单设计器,数据环境设计器,...

VFP及其应用系统开发
第六章表单 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 基础6.1表单向导打开向导选取对话框:在工具菜单的向导子菜单中选定表单命令。图6.1向导选取对话框单表表单向导与一对多表单向导图6.2表单向导的字段选取图6.6设备维护表单图6.8一对多表单向导对话框的父表字段图6.11部门设备维护窗口6.2表单设计器创建和运行表单的基本步骤打开表单设计器MODIFYFORM〈文件名〉对象操作与编码:表单设计器,数据环境设计器,表单控件工具栏保存表单运行表单:例如DOFORMSBQ快速创建表单:表单菜单的快速表单命令图6.12显示快速表单的表单设计器,数据环境设计器,表单控件工具栏等图6.14表单控件工具栏中的按钮6.3面向对象的程序设计 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 对象控件容器属性事件方法程序图6.16属性窗口的组成属性说明应用于Caption指定对象的标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 (显示时标识对象的文本)表单,标签,命令按钮等Name指定对象的名字(用于在代码中引用对象)任何对象Value指定控件当前状态(取值)文本框,列表框等ForeColor指定对象中的前景色(文本和图形的颜色)表单,标签,文本框,命令按钮等BackColor指定对象内部的背景色表单,标签,文本框,列表框等BackStyle指定对象背景透明否(透明则背景着色无效)标签,文本框,图象等BorderStyle指定边框样式为无边框,单线框等表单,标签,文本框等AlwaysOnTop是否处于其它窗口之上(可防止遮挡)表单AutoCenter是否在VFP主窗口内自动居中表单ScaleMode指定坐标单位表单Closable标题栏中关闭按钮是否有效表单Controlbox是否取消标题栏所有的按钮表单,工具栏MaxButton是否有最大化按钮表单MinButton是否有最小化按钮表单Movable运行时表单能否移动表单WindowState指定运行时是最大化还或最小化表单AutoCloseTables表单释放时是否关闭表或视图,默认为.T.数据环境AutoOpenTables表单加载时是否打开表或视图,默认为.T.数据环境表6.3属性选列事件触发时机Load创建对象前Init创建对象时Activate对象激活时GotFocus对象得到焦点时Click单击鼠标左键时DblClick双击鼠标左键时MouseUp释放鼠标键时MouseDown按下鼠标键时KeyPress按下并释放某键盘键时Valid对象失去焦点前LostFocus对象失去焦点时Unload释放对象时表6.4VFP部分常见事件表方法程序一例:Refresh方法程序[功能:重画表单或控件,并刷新所有的值。对象引用对象引用规则(1)通常用以下引用关键字开头:THISFORMSET表示当前表单集(表单集的概念参阅节)THISFORM表示当前表单THIS表示当前对象(2)引用格式:引用关键字后跟一个点号,再写出被引用对象或者对象的属性,事件或方法程序。例如:&&本对象(表单或控件)的Caption属性&&本表单的Cls方法程序,清除表单中的图形和文本THISFORM.Command1.Caption&&本表单的Command1命令按钮的Caption属性THIS.Command1.Click&&本对象的Command1命令按钮的Click事件(3)控件也可引用包含它的容器,格式为:其中Control表示控件,Parent表示容器。例如THIS.Parent.Command1.Caption,表示引用本对象的容器(例如表单)的Command1命令按钮的Caption属性。编程方式设置属性值属性值设置格式:[=Setting]其中Setting为要设置的属性值。例如,=.T.&&本对象文本以粗体显示=time()&&本对象的容器的caption属性设置为当前时间[例6-4]设计只含一个文本框控件的表单(见图6.17),要求逐次单击文本框的内部能轮流显示当前日期与时间,试写出设计步骤。(1)创建表单:往命令窗口键入命令MODIFYFORMrqsj,使显示rqsj表单设计器窗口。(2)创建文本框:单击表单控件工具栏中的文本框按钮,然后单击Form1表单窗口内某处,该处就会产生一个Text1文本框控件。(3)将表单的Caption属性改为“日期与时间”:单击表单窗口,属性窗口的组合框中便显示Form1在属性列表中选定Caption属性在文本框中输入日期与时间字样,按回车键后表单窗口的标题栏就会显示这些文字。(4)表单的Load事件代码的设置:双击表单窗口打开代码编辑窗口在对象组合框中确定表单选项,并在过程组合框中确定Load事件选项在列表框中输入以下代码:PUBLICi&&Load事件在表单装入内存时触发,设置I为公共变量(5)文本框的Click事件代码编写如下:IFi=.T.&&变量I用于控制轮流显示THISFORM.TEXT1.VALUE=DATE()&&本表单的文本框的值设置为当前日期THISFORM.TEXT1.DateFormat=12&&日期格式设置为年月日次序THISFORM.TEXT1.DateMark="."&&年月日间隔符设置为点号i=.F.&&触发Click事件I值就变反ELSETHISFORM.TEXT1.VALUE=TIME()&&本表单的文本框的值设置为当前时间i=.T.&&触发Click事件I值就变反ENDIF第七章表单控件设计7.1输出类控件标签(Label)属性选介(1)使标签区域自动调整为与标题文本大小一致:可将AutoSize属性设置为.T.。(2)使标签的标题竖排:先将WordWrap属性设置为.T.,然后在水平方向压缩标签区域迫使文字换行。(3)使标签与表单背景颜色一致:将BackStyle属性设置为0(透明)(4)使标签带有边框:将BorderStyle属性设置为1(单选框)图象(Image)、线条(Line)与形状(Shape)创建图象的步骤如下:在表单上创建一个图象控件在属性窗口选定Picture属性,并通过文本框右侧的对话按钮选定一个图象,该图象即显示在图象控件处。线条控件用于在表单上画各种类型的线条,包括斜线、水平线和垂直线。形状控件用于在表单上画出各种类型的形状,包括矩形、圆角矩形、正方形、圆角正方形,椭圆或圆。表7.3形状控件的形状设置CurvatureWidth与Height相等Width与Height不等0正方形矩形1-99小圆角正方形→大圆角正方形→圆小圆角矩形→大圆角矩形→椭圆[例7-1]设计如图所示的应用程序封面。(1)创建表单。(2)在表单上创建标签和形状控件各1个。(3)设置属性:详见表7.4(4)将封面的文字置前于椭圆:选定Label1,然后在布局工具栏中选定“置前”按钮。若已置前,则该步骤可省。(5)Form1的RightClick事件代码编写如下:&&右击表单执行Release方法程序,从内存释放该表单对象属性属性值说明Form1Desktop.T.表单设置在桌面上WindowState2表单最大化BorderStyle0取消表单边框TitleBar0取消表单标题栏Picturec:\vfp\gallery\graphics\tools.ico表单贴若干tools.ico拼成的壁纸Label1Caption汽车修理管理系统封面文字AutoSize.T.Label1区域自动适应标题大小FontName隶书字体FontSize36文字大小FontBold.T.粗体ForeColor0,0,255标题颜色为蓝色BackStyle0背景透明,不显示Label1区域Shape1Curvature99为画椭圆,使圆角最大BorderColor255,255,0边框颜色为黄色BackColor0,255,255背景颜色为青色表7.4“封面”属性设置7.2输入类控件文本框(Text)文本框的值Value属性焦点控件设置焦点方法程序格式:获得焦点事件(GotFocusEvent)失去焦点事件(LostFocusEvent)控件的数据绑定ControlSource属性文本框生成器编辑框(Edit)列表框(List)列表框生成器[例7-3]在列表框中填充SB表的编号和名称两个字段,要求选定列表框的任一项,就能使文本框中显示编号字段值。(1)在表单中创建1个列表框控件和1个文本框控件。(2)打开列表框生成器——在列表项选项卡的“用此填充列表”组合框中选定“表或视图中的字段”选项——如图7.4(a1)所示,通过对话按钮选出SB表,然后将编号和名称字段从可用字段列表添入选定字段列表中—按确定按钮。(3)List1的InteractiveChange事件代码编写如下:THISFORM.Text1.Value=&&将列表框选项值赋给文本框图7.5列表框选项(a1)表7.5列表框、组合框控件的值源类型组合框(Combo)下拉组合框Style属性值0下拉列表框Style属性值1控件值源的类型设置值值源类型说明0无缺省值,运行时用AddItem或AddListItem方法程序将数据分别填入列中1值RowSource设置逗号分隔的数据项来分别填充列2别名RowSource设置表名,表由数据环境提供,用ColumnCount确定字段数3SQL语句RowSource设置SQLSELECT命令选出记录,并可创建一个临时表或表4查询(.QPR)RowSource设置一个.QPR文件名5数组RowSource设置数组名6字段RowSource设置逗号分隔的字段列表,首字段有表名前缀,表来自数据环境7文件在RowSource设置路径,可用通配符或掩码,结果以目录与文件名填充列8结构在RowSource设置表名,结果以字段名来填充列9弹出式菜单为与以前版本兼容而设[例7-4]试用BMDM表的代码来修改SB表的部门字段。要求SB表在列表框显示,BMDM表在组合框显示;并且当列表框确定一个记录后,便可用组合框的选项来替代SB表的部门字段值。(1)在表单上创建2个标签,1个列表框和1个组合框。(2)在数据环境中添加SB表和BMDM。注意,若存在关联联线则将它取消。(3)属性设置:见表。(4)Combo1的InteractiveChange事件代码编写如下:THISFORM.LIST1.Refresh&&在组合框列表中选项并替代SB.部门后更新列表框的显示(5)Form1的Init事件代码编写如下:THISFORM.Combo1.Enabled=.F.&&使初始时不能操作组合框,只可在列表框先确定记录(6)List1的InteractiveChange事件代码编写如下:THISFORM.Combo1.Enabled=.T.&&列表框操作后即允许组合框操作(7)List1的Init事件代码编写如下:SETORDERTOTAG编号&&使列表按设备编号次序显示(假定SB表中该索引标识已存在)图7.6选项替代对象属性属性值说明Form1Caption用BMDM表的代码来修改SB表的部门在表单标题栏显示文本Label1Caption请指定要修改的记录:设置第1个标签的显示文本AutoSize.T.区域大小自动适应标题Label2Caption请选供代入的部门号:设置第2个标签的显示文本AutoSize.T.List1RowSourceType6列表框值源类型:字段RowSourcesb.编号,名称,部门数据环境中添加表后才能设置字段ColumnCount3列表显示3列BoundColumn1第1列作为value属性值Combo1Style2组合框类型设置为下拉列表框RowSourceType2组合框值源类型:别名RowSourceBMDM数据环境中添加表后才能设置表名ColumnCount2列表显示2个字段:代码与名称BoundColumn1第1列作为value属性值ControlSourceSB.部门指定从列表选定的项存入的位置表7.7“用BMDM表修改SB表的部门”属性设置[例7-6]在表单上创建1个组合框和1个文本框,要求如下:(1)组合框的列表包含SB表的编号字段值。(2)能在组合框中为其列表键入新选项。(3)若选取组合框列表中的项(也可以是刚添入的新选项),便能将它送入文本框。假定组合框和文本框已在表单上创建(图略),下面列出主要的属性和事件代码。(1)Combo1属性设置Style:0(默认值,表示组合框类型为下拉组合框)RowSourceType:6(表示控件值源类型为字段)RowSource:SB.编号(在数据环境中添加SB表后,就能在属性窗口选取字段)(2)Combo1的KeyPress事件代码编写如下:LPARAMETERSnKeyCode,nShiftAltCtrlIFnKeyCode=13&&按回车键则条件表达式返回.T.IF=0&&组合框列表中无此键入值返回.T.,才允许添加数据=0&&控件值源类型设置为可用AddItem方法程序添加数据)&&键入值添入列表末尾=&&使键入值立即成为列表中的选项INSERTINTO\vfpex\sb(编号))&&INSERT-SQL命令在SB表末尾添加一个记录,并将键入值存入该记录的编号字段=6&&恢复控件值源类型为"字段"ENDIFENDIF(3)Combo1的InteractiveChange事件代码编写如下:THISFORM.Text1.Value=微调控件(Spinner)属性选介(1)Value:表示微调控件的当前值。(2)KeyBoardHighValue:设定键盘输入数值高限。(3)KeyBoardLowValue:设定键盘输入数值低限。(4)SpinnerHighValue:设定按钮微调数值高限。(5)SpinnerLowValue:设定按钮微调数值低限。(6)Increment:设定按一次箭头按钮的增减数,默认为。若设置为1.50则增减数为。(7)InputMask:设置输入掩码。微调控件默认带两位小数,若只要整数可用输入掩码来限定,例如999999表示6位整数。若微调控件绑定到表的字段,则输入掩码位数不得小于字段宽度,否则将显示一串*号。事件选介(1)DownClickEvent:按微调控件的向下按钮事件。(2)UpClickEvent:按微调控件的向上按钮事件。控制类控件命令按钮(Command)[例7-7]设计一个如图所示的密码输入窗口,要求最多允许输入3次密码。(1)创建一个表单,然后在其中创建标签和文本框各1个,命令按钮2个。(2)属性设置:见表。(3)Form1的Load事件代码编写如下:publici&&i用于计算输入次数i=0(4)Command1的Click事件代码编写如下:i=i+1IFTHISFORM.Text1.Value='123456'&&文本框输入值与123456(预置的密码)比较&&本表单从内存释放ELSEIFi<3&&允许输入3次MESSAGEBOX('密码错,请重新输入!')THISFORM.Text1.Value=''&&为重新输入清空文本框THISFORM.Text1.Setfocus&&使文本框获得焦点,就是使光标在其中闪烁ELSEMESSAGEBOX('密码错,禁止进入系统!')ENDIFENDIF图7.8输入密码表单窗口对象属性属性值说明Form1Caption=DTOC(DATE())表单标题栏显示当前日期Label1Caption密码:设置标签的显示文本Text1PasswordChar*设置占位符,输入任何字符都显示它Value(无)清空文本框,否则初始时会显示占位符Command1Caption确定设置命令按钮的标题文本Command2Caption取消表7.8“密码输入”属性设置(5)Command2的Click事件代码编写如下:命令按钮组(Commandgroup)命令按钮组生成器Click事件的判别例如图中,Commandgroup1的Click事件代码编写如下:DOCASECASE=1&&单击Command1命令按钮(下页)返回.T.IFrecno()1&&防止上移出界SKIP-1ENDIFCASE=3&&单击Command3命令按钮(退出)返回.T.&&表单从内存释放ENDCASE图7.9命令按钮组生成器的按钮选项卡图7.11“修改SB表数据”表单窗口复选框(Check)复选框的值Value属性:0或.F.表示清除;1或.T.表示选定;2表示灰色状态。其中数字为默认值。选项按钮组(Optiongroup)选项按钮的Value属性:1表示选定,0表示未选定。选项按钮组的Value属性:表明被选定按钮的序号,默认为1。例如第2个按钮被选定时Value值为2。选项按钮组生成器[例7-11]设计一个能编辑或浏览关于设备的4个数据库表的对话框,界面要求如图所示。(1)在表单上创建1个复选框和2个命令按钮。(2)数据环境设置:在数据环境中添加SB表,BMDM表,DX表和ZZ表。图7.12选表编辑或浏览对象名属性属性值Form1Caption数据库表维护Label1Caption选表:Check1Caption编辑Command1Caption确定Command2Caption退出Optiongroup1Value1表7.12“选表编辑或浏览”部分属性设置(3)创建选项按钮组Optiongroup1:先在表单上创建一个选项按钮组,然后再利用选项按钮组生成器进行设置。①打开选项组生成器对话框:用表单控件工具栏的选项按钮组按钮在表单中创建一个选项按钮组,右击选项按钮组并选定快捷菜单的生成器命令。②在按钮选项卡(参阅图7.9)中进行设置:在微调控件中将按钮的数目置为4将表格标题列中4项依次改为设备表、部门表、大修表和增值表。③在布局选项卡中进行设置:将微调控件按钮间隔置为10按确定按钮关闭选项组生成器对话框将选项按钮组移到表单左部适当位置。(4)对其它控件的属性进行设置:见表。(5)Optiongroup1的Click事件代码编写如下:DOCASECASE=1&&选定Option1选项按钮(设备表)时返回.T.SELECTSB&&选择SB表所在工作区CASE=2&&选定Option2选项按钮(部门表)时返回.T.SELECTBMDM&&选择BMDM表所在工作区CASE=3&&选定Option3选项按钮(大修表)时返回.T.SELECTDX&&选择DX表所在工作区CASE=4&&选定Option4选项按钮(增值表)时返回.T.SELECTZZ&&选择ZZ表所在工作区ENDCASE(6)Command1的Click事件代码编写如下:*确定IFTHISFORM.Check1.Value=1&&Check1被选定时返回.T.BROWSE&&可编辑数据ELSE&&若Check1未选定BROWSNOMODIFYNOAPPENDNODELETE&&仅可浏览,不可编辑ENDIF(7)Command2的Click事件代码编写如下:*退出&&表单释放7.4容器类控件表格(Grid)表格的组成(1)表格(Grid):由一或若干列组成。(2)列(Column):一列可显示表的一个字段,列由列标题和列控件组成。(3)列标题(Header1):默认显示字段名,允许修改。(4)列控件(例如Text1):一列必须设置一个列控件,列控件默认为文本框。创建表格控件在数据环境中将表窗口的标题栏拖放到表单窗口利用表格生成器创建表格编辑图7.14拖放法产生的表格控件[例7-14]设计一个如图所示的表单,要求能按部门浏览所有设备数据。(1)创建表单,并在数据环境中建立如图7.17所示4个表的两级一多关系。(2)在表单上创建1个下拉列表框,2个标签,3个表格。表格控件可从数据环境创建,即将数据环境中SB窗口的标题栏拖到表单释放,从而产生GrdSb表格。然后可用同样方法创建表格GrdDx和GrdZz,如图所示。表格创建后按图调整好表格位置、大小与列宽。(3)如图所示创建矩形框形状控件,然后选定格式菜单的置后命令。(4)属性设置:见表。(5)Combo1的Init事件:SELECTbmdmGOBOTTOMSKIP&&故意将记录指针移到出界,以使表格在表单运行之初显示空白(6)Combo1的Click事件:THISFORM.Label2.Caption=THISFORM.Combo1.Value+"设备情况"&&标题例如“一车间设备情况”图7.16按部门浏览设备表单窗口图7.17两级一多关系数据环境对象名属性属性值说明Form1Caption按部门浏览设备Combo1Style2组合框类型:下拉列表框RowSourceType2值源类型:别名RowSourceBMDM设置值源表ColumnCount2列表显示代码,名称2个字段BoundColumn2设定第2列为value值GrdSb,GrdDx,GrdZzReadOnly.T.3个表格设置只读GrdSb.Column1.Header1Caption设备编号GrdDx.Column1.Header1Caption大修设备GrdZz.Column1.Header1Caption增值设备Label1Caption请选择部门:AutoSize.T.FontSize14Label2Caption设备情况用于表单运行之初显示标题FontSize11Shape1SpecialEffect0以3维形式显示形状框表7.14“按部门浏览设备”属性设置页框(Pageframe)[例7-15]在表单上创建一个如图所示含有两个页面的页框,分别用来维护SB表和BMDM表。(1)在表单上创建一个页框。(2)在数据环境中添加SB表和BMDM表。(3)页面标题设置:在页框中选定Page1页面,将页面的Caption值改为设备。以同样方法将Page2页面标题改为部门。(4)在页面中创建表格:在页框中选定设备页面,做一个从数据环境中SB窗口标题栏到设备页面的拖放动作,页面中就会显示关于SB表的表格。以同样方法在部门页面中创建关于BMDM表的表格。图7.18含有两个页面的页框连接类ActiveX控件(Olecontrol)[例7-16]用滑杆控件浏览设备表的设备名称,要求滑杆指向什么数值,就显示记录号为该数值的设备名。(1)在表单上创建1个文本框控件。(2)在表单上创建1个滑杆控件:从表单控件工具栏中选定ActiveX(Olecontrol)控件按钮——单击表单下部某处在插入对象对话框中选定“插入控件”选项按钮——在控件类型列表中选定MicrosoftSliderControl,version选项——选定确定按钮返回表单窗口(见图7.20)。图7.19插入对象对话框图7.20用滑杆控件浏览(3)在数据环境中添加SB表。(4)将Form1表单的Caption属性设置为浏览设备名称。(5)Olecontrol1的Init事件代码编写如下:*滑杆指针刻度范围按表的记录数设置=1&&刻度值最小为1=RECCOUNT()&&刻度值最大与记录个数相同(6)Olecontrol1的MouseMove事件代码编写如下:LPARAMETERSbutton,shift,x,y*移动滑杆指针来显示SB表的名称字段值*Olecontrol1:滑杆控件的Name:滑杆指针所在刻度的值GOTHISFORM.Olecontrol1.Value&&记录指针指向滑杆指针所在刻度THISFORM.Text1.Value=名称&&文本框显示名称字段值ActiveX绑定控件(Oleboundcontrol)[例7-17]自制一个如图所示的图象编辑器,要求能对SB表通用型字段中的图象进行浏览、修改、增入与替换。(1)在表单上创建OLE绑定型控件、滑杆控件、命令按钮控件和形状控件各1个。(2)将形状控件置于OLE绑定型控件之后:选定形状控件,然后选定格式菜单的置后命令。(3)属性设置:见表。图7.23图象浏览器表单窗口对象名属性属性值说明Form1Caption图象浏览器Oleboundcontrol1ControlSourcesb.商标Ole绑定型控件与通用型字段绑定Strech1图象以纵横等比尺寸填充OLE控件Command1Caption替换Shape1SpecialEffect0以3维形式显示形状框表7.15“图象浏览器”属性设置(4)Olecontrol1的Init事件代码编写如下:*滑杆指针刻度范围按SB表记录数设置=1=RECCOUNT()(5)Olecontrol1的MouseUp事件代码编写如下:LPARAMETERSbutton,shift,x,yGOTHISFORM.Olecontrol1.Value&&记录指针指向滑杆指针所在刻度THISFORM.Oleboundcontrol1.Refresh&&为使图象当场显示,刷新OLE绑定型控件的显示(6)Command1的Click事件代码编写如下:*既能向当前记录通用型字段增入图象,又能替换图象tx=GETPICT()&&显示打开图片对话框,并返回用户选定的图象文件名APPENDGENERALsb.商标FROM&tx&&从选定文件向当前记录的通用型字段代入Ole图象对象THISFORM.Oleboundcontrol1.Refresh&&为使代入的图象当场显示,刷新OLE绑定型控件的显示第八章表单高级设计8.1多表单应用程序应用程序界面单文档界面与多文档界面顶层表单与子表单非浮动表单和浮动表单调用子表单:DOFORM命令表单属性属性值功能ShowWindow0本表单作为VFP主窗口的子表单1本表单作为顶层表单的子表单2本表单作为顶层表单显示在桌面上Desktop.T.子表单浮动.F.子表单不浮动Visible.T.(默认)表单是可见.F.表单不可见[例8-1]为例7-10设计的表单增加一个查页命令按钮,要求单击它能打开一个供用户输入记录号的窗口,如图所示。当指定记录号并单击确定按钮后,新打开的窗口随即关闭,原表单也立即更新记录显示。(1)从例7-10的表单文件复制出SBBD1.SCX,并将后者打开。(2)在的表单窗口Form1中增加命令按钮Command1。(3)创建表单文件SBBD2.SCX,并在其表单窗口Form1中创建标签、文本框各1个。(4)属性设置:见表。图8.1开出子窗口来指定记录(5)在Form1(SBBD1.SCX)的Init事件代码中增加公共变量jlh:PUBLICyh,mc(10,1),jlh&&公共变量jlh用来表示记录号COPYTOARRAYmcFIELDSsb.名称&&保持原样GO1&&保持原样(6)Form1(SBBD1.SCX)中Command1的Click事件代码编写如下:DOFORMsbbd2&&调用子表单GOjlh&&记录指针指向在子表单中指定的记录&&父表单更新(7)Form1(SBBD2.SCX)中Command1的Click事件代码编写如下:jlh=THISFORM.Text1.Value&&文本框值赋给公共变量(可事先在文本框中键入一个数)&&释放Form1(SBBD2.SCX)(8)Form1(SBBD1.SCX)的Unload事件代码编写如下:RELEASEjlh&&清除公共变量jlh,程序运行结束公共变量不会自动清除表单文件对象属性属性值说明SBBD1.SCXForm1ShowWindow2本表单作为顶层表单显示在桌面上Command1Caption查页SBBD2.SCXForm1Caption输入ShowWindow1本表单作为顶层表单的子表单Label1Caption请输入记录号:Text1Value1供键入记录号,设置初值1Command1Caption确定表8.1“查页”属性设置表单集使用表单集的优点表单集的创建与删除表单集的编辑[例8-3]用表单集来实现查看设备大修情况。(1)从例7-13产生的表单文件复制出BDJ.SCX,并使后者打开,表单设计器窗口中将会显示“SB表编辑”表单窗口。(2)为表单文件创建表单集:选定表单菜单的创建表单集命令。(3)向表单集添加表单:选定表单菜单的添加新表单命令,表单设计器窗口中就会出现Form2表单窗口。(4)在数据环境中添加DX表,并将SB表与DX表按编号关联起来。(5)将数据环境中DX窗口的标题栏拖放到Form2表单窗口,该表单中就会产生一个关于大修的表格。(6)将Form2表单的Caption属性值改为“大修情况”。图8.3查看设备大修情况8.2用户定义属性与方法程序用户定义属性变量属性创建:打开表单设计器后,选定表单菜单的新建属性作用域:对表单集中的所有表单都有效引用格式:THISFORMSET.变量属性名数组属性多表单应用程序的有效参数用PUBLIC设置的公共变量用户在表单集中自定义的属性父表单与子表单间的参数传递:DOFORM…WITH…TO命令用户定义方法程序创建:表单菜单中选定“新建方法程序”命令过程代码的编辑调用基本格式为:THISFORMSET.方法程序名8.3类类的概念类(class)与对象(object)基类(baseclass)子类(subclass)用户定义类(user-definedclass)容器类(containerclasses)和控件类(controlclasses)类库(classlibrary)类的特征封装特征子类特征继承性特征用户定义类类的创建将类添加到工具栏类的编辑[例8-7]创建一个带有确认功能的“退出按钮”类。(1)从CommandButton基类新建子类:选定文件菜单的新建命令在新建对话框中选定“类”选项按钮,然后选定新建文件按钮在如图所示新建类对话框的类名文本框中键入类名:退出按钮;在“派生于”下拉列表框中选定基类CommandButton;在“存储于”文本框中键入类库的名字:用户控件选定确定按钮关闭对话框。(2)在类设计器中为“退出按钮”类设置属性与事件:新建类对话框关闭后,随即会弹出一个类设计器窗口(参阅图8.8)。类设计器窗口内显示一个“退出按钮”窗口,这就是“退出按钮”类;“退出按钮”窗口中有一个“Command1”按钮(在图中Command1已改作退出两个字),这是类的实例的模样。在属性窗口中将“退出按钮”类的Caption属性由Command1改为“退出”,这将使按钮上显示“退出”两个字(见图8.8)。双击“退出按钮”窗口内部来打开代码窗口,然后为Click事件键入如下代码:IFMESSAGEBOX("一定要退出吗?",4+48,"请确认")=6&&信息框包含“是”和“否”按钮,图标显示惊叹号,按“是”按钮返回数值6CLEAREVENTS&&停止处理事件(参阅节第三点)ENDIF(3)关闭类设计器窗口。图8.7新建类对话框图8.8类设计器[例8-8]试将例8-7创建的“退出按钮”类添加到表单控件工具栏中。打开任一表单(参阅图8.10)——选定表单控件工具栏的查看类按钮——在弹出菜单中选定添加命令——在如图所示的打开对话框列表中选定可视类库文件:用户控件.VCX——选定确定按钮关闭对话框,表单控件工具栏中就会包含一个“退出按钮”。图8.9选定一个“可视类库”文件图8.10表单控件工具栏右端的按钮就是退出按钮”类用户定义工具栏(1)从Toolbar基类创建一个自定义工具栏类,并为它设置功能。(2)在表单控件工具栏中添加一个代表该自定义工具栏的按钮。(3)在表单集中创建该自定义工具栏。8.4表单/表单集设计实例组合查询实用程序“封面”表单集示例图8.15组合查询实用程序表单窗口图8.18“封面与密码输入”表单集设计窗口
本文档为【VFP及其应用系统开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
辰森技术工作室
平面设计,图文设计,技术咨询,技术转让,技术推广服务
格式:ppt
大小:490KB
软件:PowerPoint
页数:44
分类:
上传时间:2021-11-16
浏览量:0