在设计对象状态时也可以粘贴OLE对象 其步骤如下
在服务器中 将数据或对象拷贝到剪切板
进入Delphi集成开发环境 选择OLE包容器部件
在 Object inspector窗体中选择ObjItem属性的省略(…)按钮
在列表中选择OLE对象
选择 Paste 创建一个嵌入对象或选择 Pastelink 创建链接对象
选择OK
OLE包容器部件在此时初始化 如果粘贴一个嵌入对象 ObjClass属性将包含适当的值 如果粘贴一链接对象 ObjClass ObjDoc ObjItem属性将全部定义 OLE 应用程序部件包含代表OLE对象的
如果OLE服务器程序支持OLE对象的拖放功能 则在设计状态从服务器中拖动对象至应用程序 应用程序将创建链接对象 具体步骤
激活服务器 并Delphi集成开放环境中选择要链接的对象
按隹鼠标左键拖动OLE对象至设计状态的窗体
松开鼠键释放OLE对象
窗体将创建OLE应用程序并进行初始化
OLE应用程序的开发
Delphi可以在设计状态和运行状态创建OLE对象 上一节介绍的是在设计状态如何创建OLE对象 这一节将通过例程介绍如何在运行状态创建OLE对象 粘贴对象 拖动对象 以及OLE 对象的文件 *** 作 我们开发的 OLE dpr是一个OLE应用程序的实例
OLE应用程序界面开发
OLE dpr采用了多文档界面 父窗体有菜单 工具条 状态条 子窗体有一个OLE包容器部件 下面分别加以介绍
OLE应用程序的菜单
OLE应用程序的菜单与其它应用程序的主菜单大体一致 如果应用程序中有支持本地激活的OLE 对象 则要进行菜单融合 查阅OLE 服务器的资料可知道服务器是否支持本地激活
OLE应用程序菜单的GroupIndex属性决定融合菜单的位置 即融合菜单是更换主菜单 还是插入至应用程序的主菜单中
OLE服务器 将融合三组菜单 Edit View Help 每组菜单分配了唯一的组索引值 在OLE应用程序中任何索引值为 的菜单组在菜单融合时被OLE服务器中具有相应索引值的菜 单更换 在本例程中 编辑菜单项在菜单融合时被服务器的 Edit 替换 如图 要想保存应用程序中的菜单 分配有异于 的索引值
表 融合后的菜单
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
菜单 索引值 功能描述 来源(OLE激活时)
────────────────────────────────
文件 使用文件和退出程序 OLE应用程序
Edit 编辑OLE对象 OLE服务器
对象 *** 作未激活的OLE对象 OLE应用程序
View 修改OLE对象的观测方式 OLE服务器
窗体 *** 纵窗体 OLE应用程序
Help 访问服务器在线帮助 OLE服务器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OLE工具条和状态条
当OLE对象被本地激活时 OLE服务器将试图用自己的工具条和状态条替换OLE应用程序的 如果应用程序想要本地激活 就应该在应用程序中编写相应的代码让服务器使用工具条和状态条 要做到这点 必须
● 设置工具条和状态条
● 在应用程序中加入状态条
通过修改面板部件的属性创建工具条和状态条
当OLE对象被本地激活时 面板或其他对齐控制将与OLE服务器程序进行协调 这意味
OLE服务器可以替换OLE应用程序窗体中任何对齐控制 但锁定的控制不能被替换 例如
如果面板的align属性是alTop alleft alBottom alIngh时 控制未锁定 OLE服务器可以替换 要使应用程序的工具条 状态条不被替换 可将locked属性设置成真值
当OLE 对象被激活 OLE 服务器在状态条中显示有关信息时 OLE 应用程序部件的OnStatusLineEvent事件发生 一个文本字符会将从OLE服务器传至该事件句柄 OnStatusLineEvent事件句柄的MSG参数接受文本字符
lishixinzhi/Article/program/Delphi/201311/25220
你好,你可以用DroidEdit,很好用的一款代码编辑软件
语法高亮,包括C, C++, C#, CSS, HTML, Java, JavaScript, Lua, LaTex, Python, Ruby, and SQL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)