Zebe

你今天的日积月累,终有一天会成为别人的望尘莫及。CDR插件技术网(原VBA探秘):cdrvba.com,个人主页:www.zebe.me,微信:zebe1989

  • 博客(17)
  • 资源 (11)
  • 问答 (2)
  • 收藏
  • 关注

原创 CDR插件开发之CPG插件016 -【实例】在CPG插件中动态导出图像到临时文件夹

在上篇文章中,讲解了文档事件在CPG插件中的开发方式和使用例子。本文在文档事件的基础上,编写一个实用的例子:当文档打开后,自动导出当前页面的图像到系统临时文件夹下面的子文件夹中,子文件夹按照日期动态创建。工程搭建准备按照惯例,本篇文章的序号为016,请直接拷贝上一个工程015-document-event(拷贝前最好清理掉 Debug、x64等编译目录,因为这些文件夹不需要保留,新的工程在编译时会自动生成),然后将其重命名为016-export-image,如下图所示:拷贝后,打开...

2021-06-16 07:49:23 776 2

原创 CDR插件开发之CPG插件015 - 在CPG插件中实现文档事件监听(基于 cgs-plugin-sdk 高级接口)

在上篇文章中,讲解了通过新建MFC类演示了简单的文本框读写操作,实现了读取和写入MFC窗体界面中的文本框内容。更多窗体控件的读写操作讲解,可能在后续文章中发布。本篇作为单独篇,讲解文档事件在CPG插件中的开发方式和使用例子。本文不按照 STEP BY STEP 的方式来细分讲解,重点关注cgs-plugin-sdk 插件工具包的能力。CDR插件开发工具包简介(cgs-plugin-sdk)CDR插件开发工具包的官方地址:https://www.oberonplace.com/cgs-pl..

2021-06-13 20:22:27 787

原创 014 - Spring中的@Qualifier注解有什么作用?

如果创建了多个相同类型的Bean,那么Spring在初始化IOC容器时,不知道应该装配那个Bean,这时候可以使用@Qualififier 注解来指定应该装配哪个具体的Bean,主要作用是指定装配的Bean,避免歧义。

2021-06-07 16:44:00 659

原创 013 - Spring中@Autowired和@Resource注解有什么区别?

@Autowired和@Resource注解都可以用在构造函数、成员变量、setter方法上,他们的区别在于:@Autowired注解默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在,如果不存在就会报错,可以设置required属性为false来解决;@Resource注解默认是按照名称来装配注入的,只有当找不到与名称匹配的Bean才会按照类型来装配注入。...

2021-06-07 16:38:59 202

原创 012 - Spring中的@Component、@Controller、@Repository、@Service 注解有何区别?

@Component:表示通用组件,它是任何Spring管理组件的通用类型。 @Controller:表示Spring Web MVC中的控制器。 @Service:和@Component并没有什么功能的不同,只是在表示层面上,它代表的是服务层的含义。@Repository:和@Component并没有什么功能的不同,只是在表示层面上,它代表的是数据访问层的含义。...

2021-06-07 16:32:49 354

原创 011 - Spirng中使用@Autowired注解自动装配的原理是什么

在启动IOC容器的时候,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowied、@Resource或@Inject时,就会在IOC容器中自动查找需要的Bean,并装配给该对象的属性。在使用@Autowired时,首先在容器中查询对应类型的bean,如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据;如果查询的结果不止一个,那么@Autowired会根据名称来查找;如果都没找到,那么会抛出异常。如果要解决这种

2021-06-07 15:56:31 207

原创 010 - Spring的IOC容器中只存放单例Bean吗?

是的,Spring IOC容器中只存放单例Bean。因为IOC容器在初始化时,只会将scope等于singleton(单例)的对象进行实例化,而不会去实例化scope等于prototype的对象。IOC容器在初始化的时候,会将所有的bean初始化在singletonObjects这个ConcurrentHashMap中,bean是单例的。在获取bean的时候,首先会从singletonObjects去取,如果scope是单例,则可以获取到bean,如果scope是多例,则获取不到bean,需要从一个叫m

2021-06-07 15:37:27 681

原创 009 - Spring框架中的单例Bean是线程安全的吗?

Spring框架中的单例Bean默认是单例模式,不是线程安全的。Spring框架并没有对单例Bean进行多线程的封装处理。关于线程是否安全,可以从Bean的状态来考虑是否要进行处理,有状态的Bean就是有数据存储功能,例如VO视图对象,无状态的Bean是不会保存数据的,例如DAO类。实际上大部分时候Spring Bean都是无状态的,因此某种程度上来说,Bean也是安全的,但如果Bean有状态的话,那就要开发者自己去保证线程安全了,可以通过把Bean的作用域改为“prototype”,这样可以保证线程安全

2021-06-07 15:15:25 1063

原创 008 - Spring的Bean有哪些作用域?

singleton(单例): bean在每个Spring ioc 容器中只有一个实例。 prototype(原型):一个bean的定义可以有多个实例。 request(请求):每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。 session(会话):在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。 ...

2021-06-07 15:03:01 121

原创 CDR插件开发之CPG插件014 - 在CPG插件中实现窗体界面文本框读写交互

在上篇文章中,讲解MFC组件的安装相关步骤,其目的是为后续文章做铺垫,因为要操作复杂的窗体界面组件,必须要MFC组件的支持。本文开始演示简单的文本框读写操作,实现读取和写入MFC窗体界面中的文本框内容。

2021-06-03 17:05:05 804

原创 007 - Spring框架中都用到了哪些设计模式?

可以通过首词法来记住Spring框架使用的一些设计模式:观单模代工(含义为观察单个模特代工)。1、观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知,被自动更新,例如:ApplicationListener。2、单例模式:Bean默认为单例模式。3、模板方法模式:用来解决代码重复的问题,以 Template 结尾的类基本都是。比如:RestTemplate、JdbcmsTemplate等。4、代理模式:Spring的AOP功能用到了JDK的.

2021-06-03 17:00:06 206

原创 006 - 说一下什么是依赖查找?

依赖查找,英文名称为:Dependency Lookup,它表示的是容器中的受控对象通过容器的API来查找自己所依赖的资源和协作对象。这种方式虽然降低了对象间的依赖,但是同时也使用到了容器的API,造成了我们无法在容器外使用和测试对象。依赖查找是一种更加传统的IoC实现方式。...

2021-06-03 16:46:05 307

原创 005 - 说一下什么是依赖注入?

依赖注入,英文名称为:Dependency Injection,它表示的是由容器动态的将某个依赖关系注入到组件之中。依赖注入的根本目的,是为了提升组件重用的频率。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。依赖注入有四个关键:谁依赖谁?为什么需要依赖?谁注入谁?注入了什么。第一,谁依赖于谁?当然是应用程序依赖于IoC容器。第二,为什么需要依赖?应用程序需要IoC容器来提供对象需要的外部资源。第三

2021-06-03 16:39:22 339

原创 004 - 解释一下什么是IoC

IoC是控制反转的意思,英文全称为:Inversion of Control,它是面向对象编程中的一种设计原则。采用IoC设计的最大好处就是降低代码之间的耦合。IoC的具体实现策略一般有两种,分别是依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup,简称DL)。...

2021-06-02 10:08:48 722

原创 003 - 你了解或者用过哪些Spring模块?

Spring大约有20多个模块,常用的有 spring-core、spring-beans、spring-mvc、spring-web、spring-aop等等,个人还使用过 spring-mobile,这个组件主要是提供了对移动端对支持。

2021-06-02 09:30:22 165

原创 002 - 你觉得Spring有哪些优点和不足?

Spring的主要优点体现在它的模块化设计,按照功能划分成几十个不同的模块,每个模块都可以拿出来单独使用,比如spring-mvc,spring-aop等等,对开发人员十分好友好。要说不足之处,那就是整个Spring体系比较复杂,对于开发人员需要一定的学习成本,遇到相关问题时需要对底层实现有充分的了解。然而我认为Spring框架在Java语言方面提供的便利,远远大于它的不足,Spring的经典设计思想可以作为每个Java开发者的参考典范。接下来可能会接着问:你了解或者用过哪些Spring模块?..

2021-06-02 07:44:10 213

原创 001 - 谈谈你对 Spring Framework 的理解?

答三点即可,说它是什么(官方的描述,加自己的见解),有什么优势,核心功能模块。(后续可能追问IOC和AOP,那才是重点问题):参考回答:1、每个人对Spring框架可能都有自己的理解,结合Spring官网的描述,我对Spring框架的理解是:Spring是创建企业级Java应用程序的一个热门框架,但凡涉及到Java应用,Spring都能通过它丰富的组件来提供支持。2、Spring是非常轻量级的框架,它具有很高的灵活性,其他三方框架可以很容易地和Spring集成。3、Spring实现了IOC和

2021-06-02 07:29:22 138

C#编写CDR插件(Addon插件)工程脚手架(支持X7、X8、2017、2018、2019、2020、2021、2022)

该工程是C#编写CDR插件(Addon插件)的模板工程,基于Visual Studio 2022版本创建,可供CDR插件开发者直接通过该模板来创建自己的Addon插件。已测试可在 CDR X7、X8、2017、2018、2019、2020 版本中正常运行,2020以上版本应该也没有问题(暂未测试)。该工程会在工具栏生成一个按钮,单击按钮时弹出消息框(X7貌似由于API版本问题,点击图标会出问题,不过应该可以修复)。

2022-09-06

C#编写外挂式CDR插件例子工程(附带对应的Corel.Interop.VGCore.dll)

通常所说的CDR插件,指的是GMS、CPG、Addon这类需要将插件程序放在CDR软件对应的Draw\GMS、Draw\Plugins、Draw\Plugins64、Programs\Addons、Programs64\Addons 目录中的常规插件。除此之外,还有一种CDR插件,可以和这些目录没有任何关系,不需要放在这些目录中就可以运行,那就是外挂式CDR插件。外挂式CDR插件指的是CDR插件程序可以独立运行,而不需要放在CDR软件相关的插件目录中,比如一个普通的EXE应用程序。开发外挂式CDR插件理论上没有任何形式上的限制,但比较典型的是EXE应用程序,这类程序最简单,只需要用户双击以下程序文件,就可以启动插件程序。凡是能编写EXE程序的开发工具,理论上都可以编写外挂式CDR插件。此资源就是一个完整的C#编写外挂式CDR插件例子工程。

2022-09-02

CDR插件开发必备 Corel.Interop.VGCore.dll(兼容性较好)

Corel.Interop.VGCore.dll 是CDR软件里面的一个动态链接库文件,被开发者简称为 VGCore,它是CDR插件开发需要引用的库,里面包含了 CDR 官方提供的对象、方法和函数,可供开发者使用。经过很多插件的实践证明,如果你编写的CDR插件需要兼容更多的版本,给很多人使用,推荐采用的 Corel.Interop.VGCore.dll 文件版本是 17.4.0.887,该版本是基于 X7 的一个优化版本,建议将其收藏下来以便在开发过程中随时引用。在牛为设计大师和CDR云插件中,使用的 Corel.Interop.VGCore.dll 文件版本也是该版本。

2022-09-01

CDR插件_唐小跃字效渐变v3.0(3D特效字、渐变色字).zip

实现快捷的渐变样式填充、简单3D特效字,一键设置渐变样式,非常实用的插件。同时支持32位和64位,已在X4中进行测试,高版本的CDR一般都是64位的,请使用64位版本的GMS。安装包中已经附带了插件安装视频教程。

2021-10-12

CDR插件技术网_真华CDR小游戏v1.2.zip

CDR贪吃蛇小游戏插件v1.2,作者真华,该插件是CDR插件界的一股清流,它可以让你在CDR中玩上贪吃蛇游戏,让你的眼球跟着蛇的移动运动起来,放松你紧绷的面部神经。 据多名玩家反馈,使用该插件后,腰不酸了,腿不疼了,还能一口气上五楼!它还可以训练你的手速,让你的王者荣耀上分之旅不再坎坷,该插件不仅能够大大降低你的工作效率,还能同时降低整个企业的生产力,实属【不可多得】的好插件。

2021-10-12

CDR条幅插件V1.31.zip

CDR条幅制作器V1.3永久免费版,是由CDR插件技术网站长(Zebe),早期开发的一款作品,可用于广告行业条幅制作,尤其适合专门做条幅的加工厂、门店等。和人工排版相比,使用这款条幅制作器,如果是条幅很多的场景,可为企业节省数十倍的时间成本。即便是单个条幅,也能节省很多时间,因为你只需要点点鼠标,粘贴内容,选择长度宽度,点击按钮即可一键制作条幅,不用再人工去画矩形框、打字排版,绘制条幅的裁切线等。

2021-09-04

CDR广告条幅批量制作插件V1.2源码(含GMS、全部窗体、模块、字体CMX模板文件)

这是由博主早期开发的一款CDR条幅制作插件,可用于广告门店、条幅制作厂家在CDR中使用该插件来快速、批量制作条幅。内置常见的条幅规格,支持横幅、竖幅混合排版,支持带落款条幅,所有感兴趣的人可以在这个源码基础上二次开发完善。当前V1.2版本是较稳定版本,修复了制作竖向条幅时报错问题,支持小字自定义方向(头部或尾部,默认尾部)、优化竖向条幅制作模板缺失文件的处理提示。 注意:此插件在X4中运行良好,在高版本CDR中可能有字体显示问题,暂时未做修复,二次开发者请注意这点。 如果在制作竖向条幅时,提示模板缺失(模板文件已经在资源里面一起打包了),请参照下图说明进行处理: https://images.gitee.com/uploads/images/2019/1201/133407_69268c78_875782.jpeg 因资源无法传图,插件的界面图片,请手动访问:https://images.gitee.com/uploads/images/2019/1011/233257_cb9719f6_875782.png

2021-06-01

CDR插件开发之文本处理.pdf

在CorelDRAW插件开发过程中,避免不了处理文本,本文档涵盖了常见的文本处理代码,例如:创建美术字文本、段落文本、解决文本溢出、查找字符、替换文本、调整字符间距等20种处理方式,适合CDR插件开发者在编写CDR插件时作为参考。

2021-05-28

CDR《GMS引导加载器》CPG插件及完整源码(基于VS2019、C++)

GMS引导加载器(gms-bootstrap-loader.cpg)—— 使用C++编写的CPG插件,该插件是一个“让GMS插件能自动运行的插件”,只有一个核心功能:强制加载VBA模块,绕过CDR软件中设置的延迟加载VBA选项,使用户自己编写的GMS插件中的全局宏立即生效,实现CDR启动时就能运行GMS插件中的自定义功能。该插件适合GMS插件开发者,在自己的插件中实现CDR启动后执行全局任务的能力。源码包含超详细注释,下载后即可在VS2019中打开,编译生成CPG插件,并在CDR中运行。此源码属于高阶CDR插件开发技术,极具价值的稀缺资源,可用于CPG插件学习,或者在此源码基础上进行二次开发。

2021-02-19

CorelDRAW X7 宏编程帮助文档|手册 CHM格式

CorelDRAW X7 官方帮助文档(参考手册)。手册为原生英文版本,主要包含自动化、宏、CQL查询介绍、对象和类属性、方法参考等内容。不管是使用VBA开发GMS插件,还是用C++开发CPG插件,这个手册都可以提供对象参考。

2020-10-28

SpringBoot使用JMS的小例子(ActiveMQ实现)

这个Demo程序演示了如何使用SpringBoot来构建一个最简单的基于ActiveMQ的JMS程序。

2016-10-02

Mysql_driver.jar

使用MySQL数据库必需的驱动包,程序中加载的名称:“com.mysql.jdbc.Driver”

2014-03-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除