论坛登陆 注册 文章专区 投稿文章 旧版浏览
首页 | 页界资讯 | 安全动态 | 网络应用 | 组网技术 | 软件应用 | 工具软件 | 网管知识 | 帮助
文学 | 操作系统 | 注 册 表 | 编程语言 | 数 据 库 | 服 务 器 | 网页设计 | 图形图象 | VIP
论坛 | 网络安全 | 安全防范 | 黑客技术 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
专题 | 教育频道 | 特色专题 | 精文荟萃 | 聊天通讯 | 网络文学 | 论坛社区 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>FoxPro>>正文

Foxpro OLE控件

www.xker.com 作者:不详 来源:网络转载 加入日期:2005-11-18 7:31:20
Foxpro OLE控件:

OLE控件又是个什么洋玩艺,先来解释一下OLE,它是英文“Object Link and Enbed”的缩写,意思是对象的链接和嵌入。

这里所说的对象,与我们以前课程中所讲的对象又有所不同,不是指表单、文本框之类的东西,而是指VFP以外的东西,比如一幅图片、一段声音、一个EXCEL图表、一个WORD文件等等,我知道您这时一定很兴奋:难道在VFP的程序中也能放入这些东西吗?我的软件不就有了多媒体的功能,那岂不是帅呆了。

是的,的确是可以,下面我们就告诉您怎样做。

一、通用字段

VFP的数据表有一个通用型字段,可以放各种各样其它格式的文件,比如图片、声音等,在这里就是以OLE的方式放入的。

将其它文件放入通用字段的命令是:

APPEND GENERAL 通用字段名
[FROM 文件名]
[LINK]

比如我们可以给人事档案数据表(rsda.dbf)加一个字段“照片”,将一个人的照片用扫描仪扫好,以文件名“庄稼.bmp”存放在当前目录中,打开rsda数据表,将记录指针走到“庄稼”这条记录上,然后执行如下命令就可以将庄稼的照片放在相应的记录中了:

append general 照片 from 庄稼.bmp

具体到程序中可以在增添和修改人员的表单中增加一个文本框,在其中输入照片文件名,在该文本框的lostfocus事件中加入如下代码:

zpwjm=alltrim(this.value) &&将文本框的内容放入一个变量
if file(zpwjm) &&如果该文件存在
append general 照片 from &zpwjm &&将文件放入照片字段
else &&否则
messagebox("文件名不存在!",64,"注意") &&给出提示
endif

如用删除通用字段中的内容,可用如下语句:

append general 通用字段名

多学一招

另外还可以交互式地将文件放入通用字段:
  1. 在浏览状态,将光标放在通用字段上,按“ctrl+pagedown”键,或者双击该字段,出现一表单,如 图1
  2. 调用菜单上的“编辑/插入对象”,如 图2
  3. 在出现的对话框中选择“从文件创建”;
  4. 输入文件名并确定,即可在显示通用字段的表单中看到插入的文件;
  5. 关闭该表单。

如要修改通用字段中的内容,可在第2步双击所看到的对象。

如要删除通用字段中的内容,可在第2步调用“编辑/清除”。

在第3步,您也可以选择“新建”,然后选择对象类型,比如WORD,然后您就可以打入一篇文章,之后存放在这个通用字段中。

通用字段中如果有了内容,在浏览时可看到字段中显示“Gen”,字母以大写开头,否则是以小写开头。

二、链接和嵌入

链接和嵌入是两个概念,也就是说我们将VFP之外的对象放入VFP时,既可采用链接的方式,也可采用嵌入的方式,它们有什么不同呢?

嵌入 :是指将对象真正放入了VFP,或者说是复制了一份放进来。好处是如果它的数据源丢失了,它仍然还在;缺点是数据源发生了变化,它不会随之而变化,比如照片换了,数据表中的照片不会自动更换,除非调用命令重新加入才行。另一个缺点是会使表变得很庞大。

链接 :没有将对象真正放入VFP,而只是放了个地址进来,每次要看时,就到这个地址去取。显然,其优缺点与嵌入正好相反。

在第一点中我们采用的都是嵌入,如要链接,append general跟“link”子句;交互式时,如果是从文件创建则在对话框中选择“链接”,如果是新建,因为直接是在通用字段中建立这个文件,不存在什么数据源,所以肯定是嵌入。

三、OLE绑定型控件

所谓“绑定”,就是说该控件是与通用字段绑在一起的(好象看不出通用字段的意思嘛),也就是说它的数据源是一个通用字段的内容,我们可以将一个OLE绑定型控件放在表单以显示通用字段的内容,方法为:

  1. 进入表单设计器;
  2. 调OLE绑定型控件工具 wpe4.jpg (974 bytes)
  3. 在表单上适当地方画出控件,就象设置一个image控件一样,如 图3
  4. 设置其controlsource属性为一通用字段的字段名,比如“rsda.照片”,如 图4

当运行表单后,我们就能看到所要的效果了,并且当表中记录指针移动时,表单中的照片也会随之变化。

四、OLE容器型控件

类似于在通用字段中放入对象,当调用工具栏上的OLE容器型控件工具,在表单上拉出该控件后,会出现一个与在通用字段中插入对象类似的对话框,插入的方法也与在通用字段中一样,也就是直接将对象插入到表单中,而不象绑定型控件到通用字段中去取。

与在通用字段中插入对象时的对话框有一点不同,就是多了一个“插入控件”,如 图5 ,这是用于插入ActiveX控件的,关于ActiveX控件要到高级教程再讲了,这一课就此Bye-Bye。

五、重要方法程序

OLE控件有一个重要的方法程序,就是doverb,该方法程序可以调用插入对象的宿主程序(如一般在电脑中BMP格式文件的宿主程序是画笔),对对象进行编辑、运行等。

语法:

Object .DoVerb[ 动作参数 ]

动作参数

指示OLE对象作怎样的动作。如果省略参数,将执行宿主程序并调用该对象,比如一个BMP图像,就调用画笔程序并将该图像打开,类似在表单上双击该OLE对象。

以下为标准的动作参数:

参数值 动作
0 执行隐含动作。
-1 打开对象供编辑。如果程序支持在现场激活,则对象可在表单中打开,如WODR、EXCEL等都可以。
-2 在另一个窗口中打开对象。
-3 如果是嵌入的对象,启动对象,并将宿主程序隐藏。这非常有用,比如表单上嵌入的是一个声音文件,可以用此参数启动声音播放器(如录音机),将声音播放出来,但录音机并不显示出来。
-4 假如对象支持现场激活,那么对象将在现场激活,并显示用户界面。如果对象不支持现场激活,将产生错误。
-5 假如将焦点放在了OLE控件上,将打开一个窗口使对象可编辑。如果对象不支持单击激活,则将产生错误。
-6 如果对象已进入编辑状态,可用此参数放弃所做的修改。

下面举例说明怎么使用这个方法:

您可以在表单上放入一个绑定型OLE控件,数据源为表中的一个通用字段,字段的内容为声音,比如可以是人事档案中人员自我介绍的讲话录音,加在表单上放入一按钮,按钮中写入如下语句:

thisoform.oleboundcontrol1.doverb(-3)

这样按下此按钮就可以将当前记录中的声音放出来,并且不会显示出播放声音的软件

上一篇:Foxpro 类
下一篇:Foxpro 查询与视图

关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章 最新文章 热门文章

·个人SMTP服务器的配置
·通过E-mail 共享Java 对象
·你的email服务器准备好应对账号搜集攻
·Server 2003中为SNMP服务配置网络安全
·Server 2003为SMTP邮件中继服务器配置
·不花一分钱, 轻松打造自己的电子邮局
·用CMailServer打造邮件服务器
·G容量邮件服务器DIY
·Exchange 2000 Server的常见问题
·用Windows Server 2003架设小型邮件服
·系统优化 专题
·QQ密码丢失后能做的事情:快速找回密码
·最经典的黑客入门教材
·怎样查找对方的IP地址
·找回QQ密码的注意事项 
·实战系统虚拟利器——MS VPC 2004
·DMA让你的硬盘速度飞起来
·电脑初学者必备之Windows进程大全
·Dreamweaver视频教程
·让你的网速快到不可思议
评论 本站声明
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2005 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号