第02章 VisualFoxpro 9.0项目实例_第1页
第02章 VisualFoxpro 9.0项目实例_第2页
第02章 VisualFoxpro 9.0项目实例_第3页
第02章 VisualFoxpro 9.0项目实例_第4页
第02章 VisualFoxpro 9.0项目实例_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、VisualFoxPro9.0应用技巧,本章通过若干实例介绍软件开发中涉及到的一些常见技巧,主要包括数据输入、数据查询、数据输出、与Excel交互、使用图形、工具栏、进度条等内容。(下载源码就到源码网:),2.1数据输入,2.1.1中英文自动切换原理以文本框或组合框为父类新建一个子类,同时为这个新建的类添加一个属性,根据此属性的值分别调整imestatus()函数的值为0或1,以此来控制系统的输入法状态。,2.1数据输入,2.1.2组合框的记忆选择原理对组合框的每一次选择都作以记载,把选择的值存储到公共变量中,并把此变量的值保存到内存变量文件里。这样,每次进入组合框时从内存变量文件中恢复保存的

2、变量,就可以记忆以往的选择,从而提高操作效率。,2.1数据输入,2.1.3编辑框中实现自动更正的方法原理1、把word的自动更正资料库文件mso.acl中的汉字词组正误信息转换为.dbf文件2、对允许输入汉字的控件的Keypress事件编写代码,对输入的汉字词组在资料库中进行校验,自动把错误的词组转换为对应正确词组。,2.1数据输入,2.1.4VFP智能感应的二次开发VFP从7.0版开始增加了智能感应(IntelliSense)功能。当我们输入命令缩写及空格后,命令会自动扩展。输入函数名及左括弧、对象名及点之后,系统会自动提示相应的参数、属性、方法名等供选择。原理智能感应的所有内容及方案都在一

3、个表中定义,表的文件名默认为foxcode.dbf,在系统变量_foxcode中存放。修改或扩展这个表的内容就可以改变智能感应的内容。,2.2数据查询,2.2.1热点跟踪和悬停效果在一个表单的各个控件之间进行焦点的转移时,控件能够在鼠标滑过的时候突出显示,实现的既是热点跟踪的效果。原理1、利用SpeciaEffect属性设置热点跟踪效果2、用_mouseoverfx类突出显示效果3、利用MouseEnter和MouseLeave事件进一步设置动态效果4、对Grid的记录进行控制,2.2数据查询,2.2.2系统的查询类及其应用原理1、VFP提供了进行查询的类库(_dataquery.vcx),应

4、用其中的类_qbf,可以在表单的文本框中输入查询条件并显示查询结果。所有用于显示字段内容的文本框都可以用来输入相关的查询值,使用起来简单方便。2、利用了事务回滚技术,2.2数据查询,2.2.3用VFP设计数据表结构浏览器原理利用COPYSTRUCTUREEXTENDED命令生成一个数据表的结构描述文件,并把结构描述文件的前四个主要字段送给表格控件作为数据源,从而实现在一个交互界面中随意选择表文件进行结构浏览,2.3输出报表,2.3.1VFP9.0中的多细节带区VisualFoxPro9.0的新增功能:执行多细节带区功能,实现一对多关系打印。通过打开报表设计器的属性窗口,单击OptionalBa

5、nds选项卡中的Add按钮添加一个细节带区到列表中。在建立多细节带区报表时,应当按一对多关系中的父表的某个具有惟一值的字段进行分组。,2.3输出报表,2.3.2在报表中实现每页打印指定记录数原理可以采用数据分组的方法来实现每页打印指定记录数,而数据分组则可以使用临时表或设置报表变量的两种方法实现。使用临时表的方法设置一个局部变量DetailNum的值为每页打印的记录数,根据它对记录分组,形成分组号保存到自定义字段别名GroupCount中,把所有记录的分组号以及原有字段内容保存到临时表Temp2,作为报表的数据源。,2.3输出报表,2.3.2在报表中实现每页打印指定记录数使用报表变量的方法数据

6、环境的Init事件定义一个全局变量tobePrint,保存每页要打印的记录数。新建两个报表变量nCount和nGroup。nCount用于统计已经打印的记录个数。nGroup的值来自一个表达式,表示当前记录已经满足一页最大打印记录数时,则用于代表页码的变量nGroup就会增加1。,2.3输出报表,2.3.3在VFP中处理JPG文件原理不将图像文件保存到GENERAL型字段中,而是把图像文件保存到一个二进制的Memo型字段,当需要显示图像时,则将该二进制Memo型字段的内容输出到一个临时文件中,然后再将临时文件名赋给Image控件或OLEBound控件对应属性来显示图像。,2.3输出报表,2.3

7、.3在VFP中处理JPG文件将图像文件保存到二进制Memo型字段中的ftom函数;将二进制Memo型字段中的图像保存到一个外部文件中的mtof函数。,2.4其他技术,2.4.1表单Grid容器中控件的动态增删及属性设置原理1、用AddObject(zd,Column)方法在表单的Grid1容器中添加一个“列”控件(文本框),以zd的值(选取的字段名)为控件名。2、然后,设置控件的属性。包括宽度(Width)、可见性(Visible)、控制源(ControlSource)、列标题(Header1.Caption)等。,2.4其他技术,2.4.2工具栏的制作原理1、如果不脱离VFP系统环境(应用程

8、序扩展名为APP),可通过定制工具栏或“object.show”指令,来使用VFP系统提供的各种工具栏。2、利用VFP系统提供的一个工具栏类tbrEditing来创建工具栏,位于SamplesClassesSamples.vcx类库中,可用于任意程序。3、指定工具栏停放位置的命令ToolBar.DocknLocation,X,Y,2.4其他技术,2.4.3进度条的实现原理1、使用ActiveX控件实现进度条选定表单控件工具栏的ActiveX控件,在表单上添加一个MicrosoftProgressBarControlVersion6.0控件,并设置其Max属性值,反映查询的最大次数。2、使用_thermometer类实现进度条_thermometer类位于“MicrosoftVisualFoxPro9Ffc_therm.vcx类库中,基类为Form,该类用于提供一个标准的进度显示。,2.4其他技术,2.4.4VFP与Excel交互在VF

温馨提示

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

评论

0/150

提交评论