我们首先通过一个简单的程序例子来看一下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。

代码如下:

 1 unit Unit1;
 2 
 3 interface
 4 
 5 uses
 6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7   Dialogs, VGCore_TLB;
 8 
 9 type
10   TForm1 = class(TForm)
11     Button1: TButton;
12     Button2: TButton;
13   private
14     { Private declarations }
15   public
16     { Public declarations }
17   end; 
18 
19 //定义全局变量
20 var
21  m_pApp: IVGApplication;
22  Form1: TForm1;
23 
24 implementation
25 
26 {$R *.dfm}
27 
28 uses
29  ComObj; //Delphi开发CorelDRAW利用的是COM编程,在这里需要添加COM对象
30  
31 //打开CDR窗口
32 procedure TForm1.Button1Click(Sender: TObject);
33 begin
34   m_pApp := CreateOLEObject('CorelDRAW.Application.12') as IVGApplication;
35   //在这里我们利用 CreateOLEObjec 函数来创建新的 CorelDRAW,从而实现打开 CorelDRAW。
36   m_pApp.Visible := True;
37   //创建了 CorelDRAW 需要对 CorelDRAW 的可见性进行定义,如果没有这一条,CorelDRAW 将不以窗口形式显现。
38 end;
39 
40 //关闭CorelDRAW窗口
41 procedure TForm1.Button2Click(Sender: TObject);
42 begin
43   try
44     m_pApp := GetActiveOleObject('CorelDRAW.Application.12') as IVGApplication;
45   //获得活动的CorelDRAW对象
46     m_pApp.Quit;
47   except
48     MessageBox(Handle, 'CorelDRAW没有运行', '提示', MB_OK + MB_iconinformation);
49   end;
50 end;
51 
52 end.

 

posted on 2013-11-02 09:10  秋舞影  阅读(3678)  评论(0编辑  收藏  举报