江苏省计算机等级考试VFP考点归纳_第1页
江苏省计算机等级考试VFP考点归纳_第2页
江苏省计算机等级考试VFP考点归纳_第3页
江苏省计算机等级考试VFP考点归纳_第4页
江苏省计算机等级考试VFP考点归纳_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、第 八 讲表 单 设 计考点1:面向对象基本概念§ 对象( Object):客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念 每个对象都具有属性、及与之相关的事件和方法ü 属性:描述对象的特征或状态ü 方法:对象能够执行的一个操作或行为ü 事件:对象识别的一个动作,可通过编写代码对此动作进行响应。 事件可由用户动作产生,也可由程序代码或系统产生 事件集是固定的,用户不能创建新的事件 可以新建属性和方法,新属性的初始值为.F.§ 类( Class):类是对一类相似对象性质的描述,同类对象相同的属性及方法。对象是某个类的实

2、例,类是面向对象程序设计中的核心。§ 类的分类: 基类(base class):VFP系统提供的内部类,可基于基类创建新类。 子类(subclass):由其他类创建的新类,子类将继承父类所做的修改 用户自定义类(user-defined class)§ 类的特征: 继承性:子类延用父类特征的能力,若父类特征改变,子类将继承这些新特征,体现了共享机制。 A类 B类(继承A类的属性和方法,还可有自己独特的属性和方法) C类(继承了B类的属性和方法,同上)由生成一个对象D 多态性:关联的类包含同名的方法程序,但方法程序的内容可不同 封装性:包含和隐藏对象信息的能力 抽象性:提取一

3、个类或对象与众不同的能力考点2: 基 类§ Vfp基类可分成两类:控件类和容器类§ Visual FoxPro基类的最小事件集:§ Visual FoxPro基类的最小属性集 :例:从CommandButton基类创建子类cmdA和cmdB,再由cmdA类创建cmdAA子类,则cmdA、 cmdB和cmdAA必具有相同的BaseClass属性。§ 容器类:可以包含其他对象的类 表单集(FormSet)、表单(Form) 表格(Grid)、列(Column) 页框(PageFrame)、页面(page) 命令按纽组(commandgroup) 选项按纽组(

4、optiongroup) 工具栏(ToolBar)§ 控件类:不允许包含其他对象的类复选框(CheckBox)、组合框(ComboBox)命令按钮(CommandButton)、编辑框(EditBox)图像(Image)、标签(Label)、线条(Line)列表框(listBox)、选项按钮(OptionButton)形状(Shape)、微调(Spinner)、文本框(TextBox)、计时器(Timer)§ 对象生成函数 :CREATEOBJECT(类名)说明:函数基于指定的类生成一个对象,并返回对象的引用。 例:myform=CREATEOBJECT(“Form”) 用

5、CREATEOBJECT 函数生成表单对象时,表单不会自动显示在屏幕上,要是表单显示,需调用表单对象myform的show方法: myform. show§ Load:表单或表单集被加载前激发§ Init:创建对象时激发§ Click:单击对象时激发§ DblClick:双击对象时激发§ RightClick:右击对象时激发§ GotFocus:对象获得焦点时激发对象的Enabled属性和Visible属性为.T.时才能获得焦点§ LostFocus:对象失去焦点时激发§ When:控件获得焦点前激发§

6、Valid:控件失去焦点前激发§ KeyPress:用户按下并释放某个键时激发§ InteractiveChange:使用键盘或鼠标更改控件值时激发§ Activate:激活表单、表单集或页对象时激发§ Destroy:释放表单对象时激发§ Unload:释放表单或表单集前的最后一个事件§ 记住事件的发生顺序: Load( 载入事件,比喻成怀孕的状态)init(初始化事件,人降临人世) destroy(销毁事件,就好象人的器官坏死,也就是表单中的控件先销毁) unload(卸载事件,销毁表单,也就是人的死亡) load事件代码不能引用

7、表单对象§ 对选项按钮组、命令按钮组,若组中某按钮没有编写事件代码,则执行组事件的处理代码。§ 例:表单里有一个选项按钮组,包括两个选项按钮Option1和Option2,假设Option2没有设置Click事件代码,而Option1以及选项按钮组和表单都设置了Click事件代码。那么当表单运行时,如果用户单击Option2,系统将:A 执行表单的Click事件代码 B 执行选项按钮组的Click事件代码 C 执行Option1的Click事件代码 D 不会有反应§ addItem:在组合框或列表框中添加一新数据项§ Hide:隐藏表单、表单集或工具栏&

8、#167; refresh:重绘表单或控件,并刷新其所有值§ Release:释放表单或控件§ SetFocus:为控件指定焦点§ Show:显示表单§ setall:为所有控件或某类控件指定属性值:格式:setall(属性,属性值,类名),其中属性、类名都是字符串§ 例:Form1.Grid1.setall(“BackColor”,RGB(255,0,0),”COLUMN”)把表格控件列对象的背景色设置为红色§ 对象属性访问及对象方法调用的基本格式:       

9、 <对象引用><对象属性>        <对象引用><对象方法>§ 绝对引用:从最高层次到最低层次引用对象,给出对象绝对地址,各对象间用.分隔例:§ 相对引用:相对于某个容器层次的引用,通常用在事件处理代码或方法程序代码中。§ 相对引用对象的关键字: THISFORMSET 表示当前表单集 THISFORM 表示当前表单 THIS 表示当前对象 PARENT 当前对象的直接容器对象例: THIS.Caption &&本对象(表单或

10、控件)的Caption属性 THISFORM.Cls &&本表单的Cls方法程序,清除表单中的图形和文本 THISFORM.Command1.Caption &&本表单的Command1命令按钮的Caption属性 THIS.Command1.Click &&本对象的Command1命令按钮的Click事件 例1:假定一个表单里有一个文本框 Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮,如果要在Command1命令按钮的某个方法中访问文本框的Value属性值

11、,正确的表达式是:A This. ThisForm. Text1. Value B This. Parent. Parent.Text1. ValueC Parent. Parent.Text1. Value D This. Parent.Text1. Value例2:表单名为myForm的表单中有一个页框myPageframe,将该页框的第三页(Page3) 的标题设置为“修改”,可以使用代码:A myForm. Page3.myPageframe. caption=“修改”B myForm.myPageframe. caption. Page3=“修改”C ThisForm.myPagef

12、rame. Page3. caption=“修改” D ThisForm.myPageframe. caption. Page3=“修改”§ _screen:表示屏幕对象,可在不知表单名的情况下处理活动表单。例:在VFP命令窗口中输入并执行命令 _screen.FontSize=20,可以使主窗口中输出文本的字号设置为20。§ 创建表单:create form 表单名§ 打开表单设计器修改表单:Modify form 表单名§ 运行表单:DO FORM <表单文件名> NAME<变量名> LINKEDNOSHOWü NA

13、ME:系统建立指定名称的变量,使它指向表单对象ü NOSHOW:表单运行时不显示,直至其visible属性设置为.T.或调用了SHOW方法ü LINKED:表单对象将随指向其的变量的清除而关闭(释放),但指向表单对象的变量不会 随表单的释放而清除ü 表单文件的扩展名是.scx,表单备注文件扩展名是.sct§ 表单数据环境ü 包括了与表单交互作用的表、视图以及表之间的关系(关联)ü 数据环境中的表、视图和关联随表单的运行而打开,随表单的关闭而关闭ü 关系是数据环境中的对象,它有自己的属性、方法和事件。 ü 数据环境是

14、一个对象,有自己的属性、方法和事件,表单数据环境存储在表单中。§ 向表单添加字段 :将字段、表或视图拖入表单,系统将产生相应的控件并与字段相绑定 。逻辑型 复选框控件备注型 一个标签和一个编辑框控件通用型 OLE控件表或视图 表格控件其他类型字段 一个标签和一个文本框控件§ 表单属性:内部教材92页§ 所有容器对象都具有计数属性和集合属性,计数属性返回所包含的对象数目,集合属性返回引用每个包含的对象 表单集(FormSet) Forms Formcount 表单(Form) Controls Controlcount 表格(Grid) Columns Column

15、count 列(Column) Controls Controlcount 页框(PageFrame) Pages PageCount 页面(page) Controls Controlcount 命令按纽组 Buttons Buttoncount 选项按纽组 Buttons Buttoncount 工具栏(ToolBar) Controls Controlcount § 设置属性时注意: 对字符型属性值,不需加引号 属性设置为表达式,需在其前用等号表单的显示、隐藏与关闭方法§ Thisform.release &&关闭当前表单§ Thisform

16、.show &&显示当前表单,该方法将表单的VISIBLE设置为.t.,等价于:thisform.visible=.t.§ Thisform.hide &&隐藏当前表单,与show方法相反,是把表单的visible设置为.f.,等价于:thisform.visible=.f.§ Thisform.refresh(刷新表单,§ Thisform.text1.setfocus(将表单中的text1控件得到焦点)§ VFP可创建3种类型的表单: 子表单:包含在其他表单中的表单,不能移除父表单,showWindow属性值为0或1,

17、Desktop属性值为.F. 浮动表单:showWindow属性值为0或1,Desktop属性值为.T. 顶层表单:独立的、无模式的、无父表单的表单,showWindow属性值为2§ 根据控件和数据源的关系,表单控件分为数据绑定型控件和非数据绑定型控件。§ RecordSource属性和RecordSourceType属性用于指定与表格控件相绑定的数据源,ControlSource属性可用于指定与其他控件绑定的数据源,所输入或选择的值(Value属性)保存在数据源中§ 数据绑定型控件:复选框,列,组合框,命令按纽组,编辑框,列表框,选项组控件,微调框,文本框,表格

18、§ 非数据绑定型控件:命令按钮,线条,形状,标签,定时器,页框§ 标签(Label)控件§ Caption:指定标签的显示文本,字符个数最多256个§ Alignment :指定标题文本的对齐方式,0为左对齐,1为右对齐,2为居中对齐§ Autosize :为.T.时可自动调整标签大小,标签大小刚好容纳文字,为.F.时保持设计时大小§ Wordwrap:为.T.时标签控件可显示多行文字,为.F.时只能显示一行文本§ Backstyle :指定标签背景是否透明,.T.透明§§ 标签控件不具有GotFocus

19、事件,即不能获得焦点§ 设置控件的访问键:ALT+访问键ü 可对标签、命令按钮、选项按钮、复选框设置ü 在Caption属性中设置,方法:在访问键字母前加<例1:标签控件Caption属性为”学生姓名”,设置访问键ALT+X,则Caption属性应设置为 ”学生姓名(<X)”,例2:命令按钮的Caption属性值为”OK”,设置访问键ALT+O, Caption属性应设置为”<OK”§ 命令按钮(CommandButton)控件 (1)Default属性:该属性默认值为.F.。当属性为.T.时,可称为“默认”按钮,一个表单中只能包含一个

20、“默认”按钮;按Enter键,系统将自动执行该命令按钮的Click事件代码(2)Cancel属性:该属性默认值为.F.。当属性为.T.时,可称为“取消”按钮,在表单中,可通过按Esc键执行该命令按钮中的Click事件代码,一个表单中只能有1个命令按钮的Cancel属性值为.T.。(3) Enabled属性:指定表单或控件能否响应用户引发的事件。默认的属性值为.T.,即对象是有效的,当Enabled为.F.时,废止该按钮,单击该按钮不会引发该按钮的单击事件。(4)Visible属性:指定对象是可见还是隐藏。默认的属性值为.T.,即对象是可见的。属性值为.F. 时,指定对象隐藏,一个对象即使是隐藏

21、的,在代码中也可以访问。(5)Caption:设置按钮的标题。 使用命令按钮最重要地是编写其Click事件代码 命令按钮组(CommandGroup)控件 (1)ButtonCount属性:指定命令组中命令按钮的个数,默认的属性值为2。(2 ) Buttons属性:用于存取命令组中各按钮的数组。利用该数组可为命令组中的每个命令按钮设置属性或调用其方法,属性数组下标的取值范围应该在1到ButtonCount属性值之间。例:Thisform.myCommandGroup. Buttons(2).enabled=.F. 废止命令组的第二个按钮,使 不可用(3) Value属性:指定命令组当前的状态,

22、即选了哪个按钮。该属性的类型可以是数值型,也可以是字符型。例: Value值为2,表示第二个按钮被选中; Value值为“男”,表示Caption属性值为“男”的按钮被选中。(4) Enabled: 指定命令按钮或命令按钮组是否有效(启用或停用)。如果同时设置了命令按钮组和命令按钮组中某个命令按钮Enabled的属性,且它们的属性不相同,则以命令按钮组的Enabled的属性值为准。§ 文本框(TextBox)控件(1) ControlSource属性:为文本框指定要绑定的数据源,一般为一个字段或内存变量,运行时,文本框中首先显示该变量的内容例: Thisform.text1.cont

23、rolsource=“xs.xh” &&让text1里显示xs.xh字段值。(2)Value属性:返回文本框的当前内容。该属性的默认值是空串。例:thisform.caption=thisform.text1.value &&将表单的标题设置为文本框中的值(3) PasswordChar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。该属性的默认值是空串,此时显示用户输入的字符。当为属性指定一个占位符(例如*)后,文本框中只显示占位符。例: thisform.text1.passwordchar=“*”(4) Readonly:确定文本框是否为只读,为

24、.T.时,文本框的值不可修改(5) InputMask属性:指定在一个文本框中如何输入和显示数据。§ 编辑框(EditBox) (1) ReadOnly属性:指定用户能否编辑编辑框中的内容。如果该属性的默认值为.F.,则可以编辑编辑框中的内容;当属性值为.T.时,编辑框中的内容为只读。(2) ScrollBars属性:指定编辑框是否具有滚动条。该属性包括“0-无” 和“2-垂直”两个属性值(3)SelStart属性:返回用户在编辑框中所选文本的起始位置或插入点位置,属性的有效取值范围在0与编辑区中的字符总数之间。(4)SelLength属性:返回用户在控件的文本输入区中所选定字符的数

25、目,或指定要选定的字符数(5)SelText属性:返回用户编辑区内选定的文本。如果没有选定文本,将返回空串。例1:EditBox:GotFocus &&编辑框获得焦点thisform.edit1.selstart=0 thisform.edit1.sellength=len(alltrim(thisform.edit1.value)§ 执行这两条命令:就会把编辑框中从selstart开始的位置(从0开始),一直到sellength(所有字符都被选中)指定的长度,作为选择的文本范围。比如说编辑框中值是“abcde”,那么“abced”就被全选中。(6) ControlS

26、ource:设置编辑框的数据源µ 编辑框和文本框的区别:编辑框可以使用备注字段,允许自动换行,用光标移动键、滚动条浏览文本,而文本框不能使用备注字段,文本不能换行。复选框(CheckBox)控件 (1) Caption属性:用来指定显示在复选框旁边的文字。(2) Value属性:用来指明复选框的当前状态,共有3种可能状态:0或.F.表示未被选中;1或.T.表示被选中;2或.NULL.表示不确定,复选框呈灰色(3) ControlSource属性:指明与复选框建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型或数值型。选项按钮组(OptionGroup)控件 (1)

27、ButtonCount属性:指定选项组中选项按钮的数目,其默认值为2(2) Value属性:用于指定选项组中哪个选项按钮被选中。该属性值的类型可为数值型或字符型。若取值为0表示没有按钮被选中(3 ) ControlSource属性:指明与选项按钮组建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是字符型或数值(4) Buttons属性:用于存取选项组中每个按钮的数组 列表框(ListBox )控件 1)RowSourceType属性与RowSource属性RowSourceType属性指明列表框中数据源的类型,RowSource属性指定列表框的数据源。RowSourceType属性

28、共有10种,常考: 0-无:在程序运行时,通过AddItem方法添加列表框条目,通过RemoveItem方法移去列表框条目 1-值:在RowSource属性中手工指定所有列表框数据项,可以是用逗号隔开的若干数据项的集合。例:thisform.list1.rowsourcetype=1 thisform.list1.rowsource=“北京,上海,长沙,武汉” 2-别名:将表的最前面若干字段作为列表框的条目,可用ColumnCount指定字段数目,若为0或1则为表的第一个字段, rowsource:一个表 3-SQL语句:将SQL SELECT语句的结果作为列表框条目的数据源, rowsour

29、ce:SQL语句例: thisform.list1.rowsourcetype=3 thisform.list1.rowsource=“select * from xs into cursor zz” 6-字段:将表中的一个或几个字段作为列表框条目的数据源,若要选取多个表中的字段,需将RowSourcetype指定为3-SQL语句。Rowsource可选择一个或所个字段例: thisform.list1.rowsourcetype=6 thisform.list1.rowsource=“xs.xh,xm” 8-结构 7-文件:将某磁盘驱动器或文件目录下的文件名作为列表框的条目,rowsourc

30、e:可设置为一种文件类型例:thisform.list1.rowsourcetype=7 thisform.list1.rowsource=“*.doc” 可在列表框中查找所有路径下的doc文件 8-结构:将表中的字段名作为列表框的条目,rowsource: 选择一个表名,若rowsource属性为空,则列表框显示当前表的全部字段。例:thisform.list1.rowsourcetype=8 thisform.list1.rowsource”xs”(2)List属性:用以存取列表框中数据条目的字符串数组,可访问列表框的具体数据。例:Thisform.list1.list(3) &&

31、amp;得到列表框中第三行第一列的值 Thisform.list1.list(3,2) &&得到列表框中第三行第2列的值(3) ListCount属性:指明列表框中数据条目的数目,即总行数(4) ColumnCount属性:指定列表框的列数。(5)Value属性:列表框中被选中的条目的内容。该属性可以是数值型,也可以是字符型。(6)ControlSource属性:该属性在列表框中的用法和在其他控件中的用法有所不同。用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。(7)Selected属性:指定列表框内的某个条目是否处于选定状态,为.T.表示被选中。例:th

32、isform.list1.select(3)=.t.说明第三行当前被选择(8) MultiSelect属性:指定用户在列表框控件内进行多重选定。其中,0或.F.表示不允许多重选定,为系统默认值;1或.T.表示允许多重选定组合框(ComboBox)控件 组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框的特点:(1)对于组合框来说,通常只有一个条目是可见的(2)组合框不提供多重选定的功能,即没有MultiSelect属性。(3)组合框可通过Style属性设置其形式,共有两种:0表示下拉组合框,2表示下拉列表框。当Style属性为0时,组合框兼有下拉列表框和文本框的功能,Style属性

33、为2时,与列表框功能相同表格(Grid)控件§ 表格控件用于浏览或编辑多行多列数据。 § 表格提供了一个全屏幕输入输出数据表记录的方式,它也是一个以行列的 方式显示数据的对象容器控件。一个表格控件包含一些列( Column )控件,默认名称为column1,column2,每个列控件能够容纳一个标头对象( Header )和文本框( Text )。 § 一般来说与一定的表,视图或查询联系在一起,属于一种数据绑定型控件。(l)RecordSourceType属性与RecordSource属性:RecordSourceType属性指明表格数据源类型,RecordSou

34、rce属性指定表格数据源。其中数据类型共有5种,主要掌握: 0-表、1-别名(默认值):RecordSource属性为表,该表会自动打开 4-SQL语句: RecordSource属性为SQL语句 表格数据源为表、视图和查询(2)ColumnCount属性:指定表格的列数,即一个表格对象所包含的列对象数目。若ColumnCount属性值为-1,则表格列数与表字段数相同。(3) ControlSource属性:指定要在列中显示的数据源,常见的是表中的一个字段。(4)Columns属性:对表格列的数组引用,Column(i)代表第i列(5)ReadOnly属性:指定能否更改表格中的数据内容,为.T.是只读,不能修改,为.F.可以修改(6) DeleteMark属性:指

温馨提示

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

评论

0/150

提交评论