Word手写签名插件(COM加载项、VC6.0ATL)开发思路
来源:互联网 发布:淘宝图片手机拍摄教程 编辑:程序博客网 时间:2024/05/16 22:46
/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn
电邮:wallimn@sohu.com
博客:http://blog.csdn.net/wallimn
作者:wallimn
电邮:wallimn@sohu.com
博客:http://blog.csdn.net/wallimn
写这个东东,其实就是写一个COM加载项。用VC开发,可以使用MFC、也可以使用ATL;用VB也是个不错的选择。我最终选用了ATL。主要是VC我用得比较多,而ATL通过模板库会给开发带来极大的便利,因此选用了VC使用ATL方式开发。事实证明我的选择是正确的。
使用VB调用COM接口要相对要方便一些,VB可以很方便地对COM进行编程,编程中也可以直接使用Word的宏代码,基本不用做代码转换。VB不好的地方:发布的时候要带它的运行时库(有点大),还有就是VB的运行效率比不上VC(不过小工程不明显)。
使用VB调用COM接口要相对要方便一些,VB可以很方便地对COM进行编程,编程中也可以直接使用Word的宏代码,基本不用做代码转换。VB不好的地方:发布的时候要带它的运行时库(有点大),还有就是VB的运行效率比不上VC(不过小工程不明显)。
开始编程,使用VC向导,可以很快的生成COM的框架,然后向工程里插入一个simple object(在菜单插入->插入ATL对象里面)。通过这个对象来改变WORD的菜单、TOOLBAR,这方面的文章很多,我的开发就是借鉴了徐景周的一篇文章,到网上找一下,很多转载(我发现网上原创的东西实在不多呀)。这样一个简单的COM加载项的框架就建好了。
手写签名部分的实现,这部分都是一些相对编程者容易的问题。简单说一下,首选插入一个对话框(在菜单插入->插入ATL对象里面),加入几个按钮,写一个单向链表用来存签名的笔画,用兼容DC、兼容位图、OleCreatePictureIndirect,把图片创建成一个IPictureDisp对象,以供下面的使用。
再插入一个Full Control对象,方法同上。把上面一步生成的IPictureDisp写进Full Control对象,再调用WORD的AddOleCtrol方法将这个东东插入就可以了。
这就是一个简单的流程。说的很粗略,因为不知道感兴趣的人多不多。
在开发的过程中我遇到了以下这样一些问题,后来慢慢解决了,如果大家有兴趣可以来交流一下。
1. 如何在插入对象中取到WORD的ActiveDocument的指针(这个不能通过保存的方法来)。
取Container的指针,再查IDispatch的接口。
2. 如果在程序里控制控件的删除,如在控件内点击,通过上下文菜单文菜单删除控件。
可以给控件设置一下标志,然后通过Word的方法遍历对象组,检查对应的标志,然后删除。
3. 如何保存。
可以重载框架的Save和Load方法,把对象的相关属性保存。这两个方法会由WORD自动调用。
4. 如何使用TOOLTIP。
这个在MSDN里有详细的帮助,可以参照解决。
5. 如何移动控件。
处理控件的OnLButtonDown/OnMouseMove/OnLButtonUp消息,然后通过Word的方法移动控件。
简单写了一下思路,欢迎交流。
/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn
电邮:wallimn@sohu.com
博客:http://blog.csdn.net/wallimn
作者:wallimn
电邮:wallimn@sohu.com
博客:http://blog.csdn.net/wallimn
- Word手写签名插件(COM加载项、VC6.0ATL)开发思路
- Word手写签名插件(COM加载项、VC6.0ATL)开发思路
- Word手写签名插件(COM加载项、VC6.0ATL)开发思路
- jSignature手写签名插件
- vc6 0 atl工程开发的com组件输出事件到VB,VB接收不到中件响应
- 手写签名插件—jSignature
- 使用VC++ ATL开发Office COM插件(一)
- 使用VC++ ATL开发Office COM插件(二)
- 使用VC++ ATL开发Office COM插件(三)
- 【outlook plugin】利用VC++/ATL开发Office 2003 COM插件
- ATL Com 开发
- ATL COM开发学习
- com ATL开发Com组件
- WORD2003电子签名插件(支持手写、签章)
- ATL开发COM组件心得
- COM/ATL项目开发小记
- VS2010 简单ATL COM开发
- VS2010 简单ATL COM开发
- 漫谈 Unix 中的设备文件
- Delphi例程-文件管理函数集
- 四月
- 2006-04-17 学习笔记
- 用VB获得操作系统路径示例和操作系统环境函数Environ
- Word手写签名插件(COM加载项、VC6.0ATL)开发思路
- .NET Compact Framework 控件的使用与开发
- Developer Express Inc.NET.v3的专题
- ATL学习笔记01
- ATL学习笔记02
- ATL学习笔记03
- 关于little-endian 和 big-endian
- 对“千万别算!装机最贵与免费的十大软件”文章我有话要说
- ASP.NET 防止SQL注入式攻击