landboy 发表于 2024-8-7 11:15:23

零基础学 CorelDRAW CPG 插件开发教程-Part02 C++ 编程傻瓜入门

请朋友们先不要在帖子回复,我会在本帖子更新详细文档和方法。

零基础学 CorelDRAW CPG 插件开发教程-Part01 MSVC2022 编译环境
https://www.52cnp.com/thread-21975-1-1.html

有兴趣学习的网友,可以先点赞文章   Part01 MSVC2022 编译环境






CorelDRAW-CPG C++ 编程傻瓜入门文档.xls   文档最初版,以后会更新





Cpg 代码 框架类 简单介绍
AttachPlugin 函数是 Cpg插件的入口函数 CorelDAW启动的时候执行
他会调用右边的毛子写的框架类这个框架类,会处 理Windwos COM 编程的查询注册
和管理内存和功能指 还有一个插件接口指针 m_pApp

我们只要定义一个 全局指针变量   corel * cdr=NULL
如图在 raw_StartSession() 函数中使用 cdr = m_pAPP 把这个接口 接续过来
就像在自来水管上接一个水龙头,就可以给每个房间使用了


源码: cdrapi.h
#define corel VGCore::IVGApplication
using namespace VGCore;

corel 这个只是宏定义,我们只是偷懒少输入代码,实际他表示的代码是VGCore::IVGApplication
VGCore::也是使用 using 名字空间,达到简洁代码的目的



CPG C++ 程序功能代码简单实现

功能: 清除填色
相当于 VBA 的sr.ApplyNoFill
同VBA 代码一样看起来也很简单


功能: 填充红色       相当于VBA 的ShapeRange.ApplyUniformFill
方法将统一填充颜色应用于形状范围内的所有形状。

介绍如图
功能: 批量镜像
功能:调用 CQL 选择相同轮廓色
功能:调用 CQL 选择相同尺寸物件



landboy 发表于 2024-8-7 20:37:09


CorelDRAW-CPG插件开发教程-Part02_Cpp_编程傻瓜入门_第一CPG插件源码和文档.7z





本教程-Part02 C++ 编程傻瓜入门 第一个示例代码01_lycpg64.zip
解压打开会看到2个文件 main.cpp 和 Makefile
main.cpp 这个文件就是插件的源码,可以看到有个 AttachPlugin 函数,是文章上面介绍过了,是入口函数
Makefile 是为您准备的编译脚本文件,你只要输入 nmake 就能编译这个 CPG 插件了


你还需要 VGCoreAuto.tlb 这个文件,如果你安装了CorelDRAW 2020 会在类似目录找到
C:\Program Files\Corel\CorelDRAW Graphics Suite 2020\Programs64\TypeLibs





使用 Makefile 用来编译和安装 cpg,参考视频, 或者如文档或者论坛贴图动画
请搜索B站:蘭雅 CorelDRAW CPG 插件: C++ cpg 插件编写代码和编译视频


如图输入 nmake 命令就会调用 cl 和 link 命令把 mian.cpp 编译成插件
输入命令 nmake install会把cpg文件复制到CDR2020的插件目录
输入命令 nmake clean    会把编译时候生成的临时文件删除


如果你还没配置好编译器,请看 本教程 Part01部分,编译环境的配置
https://www.52cnp.com/thread-21975-1-1.html

landboy 发表于 2024-8-7 21:02:37

CorelDRAW_CPG插件_智能群组源码_08_SmartGroup使用 PowerShell环境编辑动画演示



    CorelDRAW_CPG插件_智能群组 免费下载

landboy 发表于 2024-8-8 18:29:09




MSVC2022 绿色版编译器,不设置环境变量也可以学习编译的。只要如图操作就可以
解压后 不设置环境变量也可以 学习用的.只要双击 这个图标,然后 到源码目录,下运行 nmake



当然如图添加环境变量,这样用起来会方便许多。环境变量文本,参考 文档 xls文件里文本


喜相来 发表于 2024-8-7 11:36:08

想学习,但感觉有点太复杂。

soso 发表于 2024-8-7 13:41:07

{:3_45:} 有点难,刚刚接触C#

kibby 发表于 2024-8-7 13:56:09

刚学一点点JAVA又学了一点点C#现在再学C++ {:4_317:}

zhen88666 发表于 2024-8-8 08:29:51

搞些视频 好理解 {:4_320:}

美亿添888 发表于 2024-8-8 08:58:12

如果有时间可以学习一下。感觉楼主为大家开了一扇门。

wushy 发表于 2024-9-3 18:20:43

CPG相当于内挂,比外挂的VBA快多了
页: [1]
查看完整版本: 零基础学 CorelDRAW CPG 插件开发教程-Part02 C++ 编程傻瓜入门