知识大全 对象链接与嵌入(一)[5]
Posted 知
篇首语:知识是头上的花环,而财产是颈上的枷锁。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 对象链接与嵌入(一)[5]相关的知识,希望对你有一定的参考价值。
DELPHI基础教程:对象链接与嵌入(一)[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
BOLEFormat类型定义在BOLEDefs单元中 BOLEMediumCalc函数定义在ToCtrl单元 因此主窗中的interface部分应加入这两个单元
interface
use… BOLEDefs ToCtrl
在粘贴OLE对象前 应用程序必须知道在剪贴板中是否有OLE对象
PasteSpecialEnabled函数可判断粘贴对话框是否有效 如果剪贴板上有Fmts定义的任何一种格式 PasteSpecialEnable将返回真值 粘贴对话框才能成功地调用 反之调用粘贴对话框将不发生任何事件
以下代码实现 编辑|粘贴 菜单项的功能
procedure TOLEObjectForm PasteSpecial Click(Sender: TObject)
var
ClipFmt: Word;
DataHand: THandle;
Info: Pointer;
begin
if PasteSpecialEnabled(Self OLEFrameForm Fmts) then
if PasteSpecialDlg(Self OLEFrameForm Fmts
ClipFmt DataHand Info) then
InitializeOLEObject(Info)
end;
只有在粘贴对话框有效时 编辑|粘贴 菜单才有效 以下代码实现此功能
procedure TOLEObjectForm Edit Click(Sender: TObject)
begin
PasteSpecial Enabled := PasteSpecialEnabled(Self OLEFrameForm Fmts)
end;
释放OLE对象
从OLE服务器拖动OLE对象并将其放在OLE应用程序是一种方便的对象链接与嵌入的方法 通过拖放操作 用户不需要使用插入对话框或粘贴对话框来定义OLE对象 而只需用鼠标键从OLE服务器中 抓 住OLE对象 拖至OLE应用程序 松开鼠标键 从而实现OLE对象的插入
注册OLE释放目标窗体
为了接收一个释放的OLE对象 必须有一个窗体在Windows中注册成OLE释放目标 用RegisterFormASOLEDropTarget函数可实现此功能
RegisterFormASOLEDropTarger(Form : TFrom;Const Fmts: array of BOlefrom)
其中Form是OLE对象的释放目标窗体 在本章例程中 将子窗体传递给Form参数
Fmts是对象格式的数组 它是BOLEFormat 类型的数组 所有要释放的数据必须用Fmts数组中相应BOLEFormat元素注册
在本章例程中 注册的Fmts 数组与主窗体OnCreate事件 声明的数组相同 即 联接对象格式和嵌入对象格式 如果想接收更多类型的释放数据 就必须在Fmts数组中加入其它元素 例如应用程序要接收释放的文本 Fmts需加第三个元素 其fmtId 域为CF_TEXT BOLEMedium域为BOLE_MED_HGLOBL
拖放过程中不需要用BOLEFormat的fmtName fmtResultName域 如果程序只进行拖放操作而不进行对象粘贴 可以不初始化两个域
在主窗体的OnCreate事件中可调用RegisterFormAsOLEDropTet
procedure TOLEFrameForm FormCreate(Sender : TObject)
begin…
Register FormASOleDropTarget(Self Fmts)
end;
返回目录 DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
cha138/Article/program/Delphi/201311/25223相关参考
DELPHI基础教程:对象链接与嵌入(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(二)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(二)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
迄今为止我们见到的内部类好象仅仅是一种名字隐藏以及代码组织方案尽管这些功能非常有用但似乎并不特别引人注目然而我们还忽略了另一个重要的事实创建自己的内部类时那个类的对象同时拥有指向封装对象(这些对象
在网页中的引用(比如引用cssjsimg等对象)总的来说可以分为以下几种方式 viewsourceprint?<%第一种方法%> <linkrel=stylesheettyp
VB.net与MediaPlayer9.0嵌入 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! W