网上文摘 小说 Flash游戏 最近更新 下载排行 资源分类 下载指南
经典编程资源 精彩不容错过
设为首页
加入收藏
联系我们
当前位置:Delphi园地技巧文章编程心得 → Delphi与Word之间的融合技术(3)
Delphi与Word之间的融合技术(3)
日期:2006年11月24日 作者: 人气: 查看:[大字体 中字体 小字体]
五、从数据库读取文件到本地硬盘和从本地硬盘读取文件到数据库

在数据库上使用Image二进制字段保存,使用Stream流的方式。

创建文件流:

Word_FileStream:=TFileStream.Create(Target_Name,fmOpenWrite or fmCreate);

Word_FileStream.Position:=0;

保存到数据库的Image字段:

TBlobField(AdoQuery1.FieldByName(Column_Name)).SaveToStream(Word_FileStream);

从数据库读取文件到本地硬盘:

TBlobField(ADOQuery1.FieldByName(Column_Name)).loadfromStream(Word_FileStream);

释放文件流:

Word_FileStream.Free;

六、全局消息的定义

因为word和Delphi程序是两个软件,相互之间通讯比较麻烦,所以使用全局消息的方法进行。全局消息必须首先注册,Windows返回系统空闲的消息号,当注册的消息相同时,Windows系统返回同一个值,这样就保证了使用这个消息号在两个程序之间通讯。

定义消息的办法:

szMessageString: pchar = ''XIDIAN_11_Stone'';

FMyJoinMessage := RegisterWindowMessage(szMessageString);

发送消息的方法:

SendMessage(对方句柄,消息,消息附带短变量,消息附带长变量)

七、Delphi程序接收消息的方法

Delphi接收消息有两种,一是重载特定消息,二是重载WndProc函数,在里面选择相应消息进行处理。

法一,每次只能处理一条消息,而法二能够同时处理多条消息。

对于法二,声明如下:

procedure WndProc(var Message: Tmessage);override

必须注意,使用时需要在处理完自己消息处理后继承WndProc(Message)函数,否则系统会崩溃!

八、Word中Combo对话框的动态生成以及Change事件

建立类模块Combohander,在内部定义事件

Public WithEvents ComboBoxEvent As Office.CommandBarComboBox

定义Combo控件产生事件的模块

Dim ctlComboBoxHandler As New ComboBoxHandler

产生Combo对话框

Set Cbo_ChooseDoc = CommandBars("添加的菜单").Controls.Add(Type:=msoControlComboBox, Temporary:=True)

进行文件句柄设置,以产生Combo_Change事件

Set ctlComboBoxHandler.ComboBoxEvent = Cbo_ChooseDoc

产生事件后,在类模块Combohander内选择ComboBoxEvent的Change事件,即可书写事件代码

Sub ComboBoxEvent_Change(ByVal Ctrl As Office.CommandBarComboBox)

九、一些Word的事件

VBA代码中处理的Word事件有:Document_Close

Application事件中需要处理的有:DocumentBeforeClose,DocumentChange。

Document_Close:事件在文档关闭时产生事件

DocumentBeforeClose:在文档被关闭以前先于Word判断文档是否保存,给出相应提示并进行相应处理。

DocumentChange:文档切换,在文档从自己修改的文稿和其他人修改的文稿之间切换产生事件,主要处理设置文档权限等


(出处:DelphiFans.com)

相关文章:
·不使用剪帖板从Word获取数据
·使用Delphi开发Office Word插件
·Delphi与Word之间的融合技术(1)
·Delphi与Word之间的融合技术(2)
·解决word打开文档提示错误“恢复我的工作并重启microsoft office word”
 → 特别推荐
 → 热点TOP10
关于我们 | 广告服务 | 发布资源 | 联系站长 Copyright © 2002-2006 Delphi园地 All Rights Reserved