手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi 对象链接与嵌入(二)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  参数Form是拥有粘贴对话框的窗体,应把包含OLE包容器部件的窗体名字传递给Form

参数Format是注册对象格式的数组,每组格式是BOLEFormat类型的数组成员。例如应用程序可注册两种对象格式。为嵌入对象注册FEmbedClipFmt ,为链接对象注册FlinkClipFmt

BOLEFormat 声明如下: 

  BOLEFormat Record

fmtID : Word;

fmtName : array[0..31] of char;

fmtResultName : array[0..31] of char;

fmtMediun : BOleMedium;

fmIsLInkble : Bool;

end; 

fmtID是对象的剪贴板格式ID号,fmtID 可以是标准的剪贴板格式:CF_TEXT,CF_BIFMAP。使用OLE 对象时, 需注册新的剪贴板格式来处理OLE 对象。WindowsAPI ReGISterCliPBordFormat函数注册格式。

fmtName表示是对象的名字,用以定义出现在粘贴对话框中列表框 内的对象名称。在例程中,把“%S”匹配给fmtNameOLE服务器自动地把格式化的名字代替“%S”参数。例如,如果OLE服务器是画笔,在程序运行时“Paintbrush Picture Object”将代替“%S”。

  fmtResultName,定义出现在粘贴对话框中结果检查框内的名字。在例程中, 把“%S”传给了fmtResultNameOLE服务器自动地把格式结果名称代替“%S”参数。例如,如果OLE服务器是画笔,程序运行时“Paintbrush Picture”将代替“%S”。

  fmtMediumBOLEMedium类型,是Windows决定对象格式的数据类型。例如,OLE

接对象的格式是BOLE_MED_STREAMOLE嵌入对象的格式是BOLE_MED_STORAGEBOLEMedium函数可计算出需要的BOLEMedium类型。

  fmtIsLinkale决定对象格式是否可联连。联连对象的fmtIsLinkable为真值。嵌入对象的fmtIsLinkable为假值。

  参数HelpContext 为粘贴对话框定义在线帮助。如果应用程序没有在线帮助,HelpContext的值为零,对话框中将不出现帮助按钮。

  参数Form用以定义剪粘板上的格式,是由PasteSpecialDlg函数进行修改。因为使用粘贴对话框时,应用程序并不知道剪贴板的格式。因而用Format来处理剪贴板的数据。在本章例程中。 PasteSpecialDlg 函数把format 变量修改成FEmbedClipFmt FLinkClipFmt格式,这两种格式是在主窗体的OnCreate事件中定义的。如果剪贴板上的数据不是OLE对象,Format将被修改成其它类型的格式,如CF_TEXT等。

  参数Landle定义剪贴板上的数据句柄。由PasteSpecialDlg函数进行修改。 当剪贴板的数据类型不是OLE对象时,需用Handle参数访问剪贴板数据。Handle是句柄类型。

  参数PInitInfo是一个指向OLE对象初始化结构的指针。前面在讲述初始化OLE应用程序部件时也用到了这种指针。PasteSpecialDlg函数将修改PInitInfo指针以使其指向一个有效的数据结构。该结构包括了粘贴对话框中被选中的

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!