Access2000下内部COM插件的编程实现
作者:徐景周
下载示例代码( http://www.vckbase.com/document/viewdoc.asp?id=826 )
简介
在这里,我们仍然使用VC6中的ATL来实现Access2000下的内部COM插件,至于其基本原理和详细的实现方法及步骤,可以参看前面我的文章< Office2000下内部COM插件的编程实现>等,这里只重点说明它和其它Office2000中内部COM插件(如:Word2000、Excel2000、PowerPoint2000、Outlook2000)实现的不同之处,文章及示例代码都可以在http://www.vckbase.com网站中找到。下面是Access2000内部COM插件示例代码运行后的效果图:
具体实现
打开VC6.0,在新建工程中选中ATL COM Appwizard,在右侧工程名中输入AccessAddin,点击Finish(完成)按钮完成工程创建。接着,选取菜单Insert->New ATL Objec项,在弹出的ATL对象向导对话框中选中相应Objects对应右侧的Simple Object选项,点击下一步,在弹出的对话框中ShortName中输入AcceAddin,点OK完成插入ATL对象。
接着通过导入类型库来实现_IDTExtensibility2接口,编释好上面所建工程后,在ClassView中的CAcceAddin类上点鼠标右键,在弹出的右键菜单中选Implement Interface项。在弹出的实现接口对话框中点击Add Typelib,在弹出的Browse Type Libraries对话框中,向下滚动选取Microsoft Add-in Designer(1.0)子项,点OK按钮。在弹出的接口列表对话框中选中_IDTExtensibility2接口,点OK按钮完成导入。系统会自动为你生成空的上面所提到的五个所需接口涵数。
下面来看看它们之间实现的不同点。
第一点:注册类型信息有所不同(*.rgs),在文件AcceAddin.rgs中内容的下面,添加所下代码:
HKCU
{
Software
{
Microsoft