用ATL实现VC插件
作者: IUNKNOW 出处: vchelp
要实现Add-in Object 有三种方法,一种是利用ATL COM Wizard中的ATL对象 Add-in Object来实现,另一种是利用DevStudio Add-in Wizard来实现,第三种就是手工写所有的代码,如果手工写,一定要记住实现IDSAddIn接口,这样才能才能增加新的命令和工具条到VC的IDE环境中去。
我主要是讲解ATL COM Wizard,所以我用第一种方法来实现。在这里我实现了IApplicationEvents 和 IDSAddIn接口,实现IapplicationEvents接口是应为我要对Application 对象进行操作,比如NewDocument()、WorkspaceOpen()等等方法。而实现IDSAddIn接口,是应为要增加新的命令和工具条到VC的IDE环境中去。
示例程序实现的功能:
1)在VC的IDE环境中增加一个工具条(4个按钮),并且能操纵VC的IDE环境,(工具条如下图) 第一个按钮弹出对话框允许修改用户信息,第二个按钮最小化所有打开的窗口,第三个最大化所有的窗口,第四个按钮弹出一个Messagbox。
2)对每一个新建的文档,根据文档类型在文件头自动加上版权信息和相关内容注释。
观看效果:下载源代码,编译后生成Sample_02.dll,然后在VC的环境中,选择菜单tools/customize ,然后选择最后一个Add-ins and Macro Files 标签,选择Browse按钮,选择刚才编译后的Sample_02.dll文件,然后在Add-ins adn Macro列表框中选中Copyright Class ,然后Close Customize对话框,这时VC的IDE环境就会出现一个有四个按钮的工具条(见上图)。大家可以分别点击这几个按钮看看效果,也可分别在VC环境中(新建)New 几种类型的文件(.cpp ,.h .htm 和.txt文件)看看文件头是否加上版权信息.
下面一步步引导大家来实现此例子程序:
1) 用ATL COM Wizard建立一个叫Sample_02的DLL项目文件
2) 在Class Wizard 中鼠标右键,在弹出菜单种选择New ATL Object…
3) 在ATL COM Wizard对话框中的Categroy选择Object 在Object中选择Add-in Object,选择Next按钮(如图)。
评论