• 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 FilesCorelCorel Graphics XXPrograms”目录下。(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.
  • 相关阅读:
    双击快速打开.ipynb文件的方法
    关于selenium元素点击时出现“element click intercepted :“报错解决办法(亲测可用)
    centos 安装Selenium+Chrome
    最全苹果cms问题解决100
    -scrapy startproject时,报错 from cryptography.hazmat.bindings._openssl import ffi, lib的解决方法
    解决打开fiddle后不能上网
    python学习笔记 pip安装加速&&python淘宝镜像安装包
    lxml.etree类型。不能序列化ElementUnicodeResult
    最值问题
    数列的求和公式
  • 原文地址:https://www.cnblogs.com/o594cql/p/3403366.html
Copyright © 2020-2023  润新知