Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80569
  • 博文数量: 27
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 11:32
文章分类

全部博文(27)

文章存档

2010年(3)

2009年(13)

2008年(11)

我的朋友

分类: C/C++

2009-05-24 16:13:10

 

²        代码编写完毕,在解决方案中,找到注册文件“MyTestCommand.rgs”,打开,文件内容如下:

HKCR

{

   TestCommand.MyTestCommand.1 = s 'MyTestCommand Class'

   {

       CLSID = s '{D78ABEC0-9BCE-48C1-A4C8-5B3C881C48D2}'

   }

   TestCommand.MyTestCommand = s 'MyTestCommand Class'

   {

       CLSID = s '{D78ABEC0-9BCE-48C1-A4C8-5B3C881C48D2}'

       CurVer = s 'TestCommand.MyTestCommand.1'

   }

   NoRemove CLSID

   {

       ForceRemove {D78ABEC0-9BCE-48C1-A4C8-5B3C881C48D2} = s 'MyTestCommand Class'

       {

          ProgID = s 'TestCommand.MyTestCommand.1'

          VersionIndependentProgID = s 'TestCommand.MyTestCommand'

          InprocServer32 = s '%MODULE%'

          {

              val ThreadingModel = s 'Apartment'

          }

          val AppID = s '%APPID%'

          'TypeLib' = s '{DC965298-6043-44A8-B496-CF43552434FD}'

       }

   }

}

在文件的“'TypeLib'”位置下面,增加一个注册项:

'Implemented Categories'

           {

              {E5BDE9F2-167C-49BD-B05C-BCDF47B297FF}

           }

表示需要把MyTestCommand组件注册到分组“{E5BDE9F2-167C-49BD-B05C-BCDF47B297FF}”下面。注意,不同插件类型注册分组不同,参看该文件最后的插件分组GUID定义。该分组就是AEMap的命令分组。最终的文件内容如下:
 
 

²        通过以上步骤,一个AEMap的命令插件就编写好了。由于该项目用到Cstring类,所以需要在头文件中填写“#include ”。编译该项目。至此,整个插件编写结束。

 
 
 
 

²        把插件加载到AEMap系统中来。运行AEMap应用程序。在工具栏空白处按鼠标的右键,出现弹出菜单,选择其中的“自定义”命令。

打开“命令”标签页,在“分组名称”列表中找到“MyTestCommand测试”,在命令名称列表中找到“MyTestCommand测试”,用鼠标把该名称拖放到AEMap的工具栏或者菜单上即可。关闭自定义设置。

 

 

 

 

 

 

 
 
 

这时,刚才编写的插件已经加载到AEMap系统中了。采用鼠标点击按纽,测试一下插件的反应。插件弹出一个提示信息框,说明插件已经正确的加载到系统中,和AEMap融为一体了。

 

 

 

 
 
 
阅读(546) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~