Delphi 二次开发 CorelDRAW
我们首先通过一个简单的程序例子来看一下Delphi对CorelDRAW二次开发有什么样的效果。本程序实现CorelDRAW程序的打开和关闭。
1.1 Delphi与CorelDRAW连接
在程序与CorelDRAW进行控制的时候,必须要通过一个桥梁,而这个桥梁需要通过我们的代码来实现。只有实现了程序与CorelDRAW之间的通讯,才能进行下一步的工作。再次我们为您提供一个Delphi连接CorelDRAW的样板代码,每次进行开发的时候您可以通过修改此代码来实现与CorelDRAW之间的连接。
新建一个工程,然后向新建的工程中加入CorelDRAW类库,步骤如下所示(这里以Delphi 2009 为例,其它类似):
1.选择菜单"Component"—"Import Component",在对话框中选择Import a Type Component单选按钮,单击Next按钮;

2.在新跳出的对话框中单击Add(添加)按钮,然后找到CorelDRAW的类型库文件。CorelDRAW类型库文件有版本区分(这里以CorelDRAW X4 为例),说明文字为Corel-Vector Graphics Core XX.0 Type Library,名称为VGCoreAuto.tlb,这个文件保存在“C:\Program Files\Corel\Corel Graphics XX\Programs”目录下。(C:为默认安装盘,XX为CorelDRAW的版本号),点击Next按钮;

3.保持默认值,点击Next,选择“Add Unit to Project1.dproj project”,单击Finish按钮完成添加。保存工程到文件夹。

4.如下图所示,这样我们就在Delphi中成功的添加了CorelDRAW类库。

5.在窗体上添加两个按钮控件,分别为两个按钮命名为打开和关闭,在代码引用部分添加一下引用:VGCore_TLB。

代码如下:
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, VGCore_TLB; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
private
{ Private declarations }
public
{ Public declarations }
end; //定义全局变量
var
m_pApp: IVGApplication;
Form1: TForm1; implementation {$R *.dfm} uses
ComObj; //Delphi开发CorelDRAW利用的是COM编程,在这里需要添加COM对象 //打开CDR窗口
procedure TForm1.Button1Click(Sender: TObject);
begin
m_pApp := CreateOLEObject('CorelDRAW.Application.12') as IVGApplication;
//在这里我们利用 CreateOLEObjec 函数来创建新的 CorelDRAW,从而实现打开 CorelDRAW。
m_pApp.Visible := True;
//创建了 CorelDRAW 需要对 CorelDRAW 的可见性进行定义,如果没有这一条,CorelDRAW 将不以窗口形式显现。
end; //关闭CorelDRAW窗口
procedure TForm1.Button2Click(Sender: TObject);
begin
try
m_pApp := GetActiveOleObject('CorelDRAW.Application.12') as IVGApplication;
//获得活动的CorelDRAW对象
m_pApp.Quit;
except
MessageBox(Handle, 'CorelDRAW没有运行', '提示', MB_OK + MB_iconinformation);
end;
end; end.
Delphi 二次开发 CorelDRAW的更多相关文章
- ERP开源框架 + 二次开发平台 介绍
经历了多年软件开发,深受网络大侠们的资源共享才得以有所成绩, 本人主要是做企业ERP软件,一直有个感受,开发具体某个功能不难,但随着需求的增加,管理庞大的代码却成了最大的问题 而为企业管理所做的开发, ...
- SolidWorks二次开发的研究
三维机械设计软件SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是由美国SolidWorks公司在总结和继承大型机械CAD软件的基础上,在Windows环境下 ...
- 基于VB语言对SolidWorks参数化设计的二次开发
0 引言 随着数字信息化进程的快速推进,如今三维CAD技术在越来越多的企业当中得到运用.为了降低在设计生产中的成本,缩短设计周期,增强企业竞争力,三维参数化技术随之应声,它凭借更贴近现代概念的设计以及 ...
- 踏上Revit二次开发之路 1 准备工作
1 准备工作 工欲善其事,必先利其器.在正式开始之前,我觉得有必要先盘点一下需要准备些什么. 1.1 硬件设备 PC机一台(谢绝Apple). 配置不能太低,至少要i3以上的cpu.4g以上的内存和支 ...
- Navisworks API 简单二次开发 (自定义工具条)
在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用
目 录 第十二章 二次开发及应用... 2 12.1 项目配制... 3 12.2 引用相关组件... 4 12.3 构建主程序... 5 ...
- OBS-Studio二次开发记录
OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...
- 小猪cms微信二次开发之怎样分页
$db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...
- 承接 AutoCAD 二次开发 项目
本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...
随机推荐
- 【Android 界面效果37】ViewStub的应用
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局.那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在 ...
- 推荐一款好用的项目管理工具:project
Microsoft Project (MSP)是微软开发的一个国际上享有盛誉的通用的项目管理工具软件. 在项目管理的时候,这个软件可以帮你定制时间计划,还有其它很多好用的功能. 2010版本的下载传送 ...
- 0. SQL Server监控清单
数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些? 一. 服务器 1. 状态监控 (1) 服务器 ...
- Java Scoket编程
Java Scoket编程 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位, ...
- IIs站点的建立
控制面板——管理工具——Internet信息服务管理器 首先应设置的文件权限:System 和 admin 程序池:4.0 编辑权限:iis apppool\名称 身份验证:匿名身份——应用程序池标识
- POJ 1751 Highways (最小生成树)
Highways Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- 剑指Offer23 二叉树中和为sum的路径
/************************************************************************* > File Name: 23_FindPa ...
- tornado 信号处理
一般情况下,对于线上的程序,我们是不能采取kill -9 来杀掉进程的 因为程序可能有未处理完的程序,如果贸然采取kill -9可能会导致数据不一致 如果需要关闭程序怎么办呢,一般情况下我们采取信号技 ...
- Java程序修改文件名
package script; import java.io.File; import java.io.IOException; public class Realname { public stat ...
- JavaScript之动态背景登陆表单
<!doctype html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...