AO 组件开发DLL+ArcMap 二次开发——精简版本(一)

 

AO 组件开发DLL+ArcMap 二次开发——精简版本()

前期工作:

 1\安装VB6+ArcGIS8.3 Desktop +Develop kit

 2\C:\arcgis\arcexe83\ArcObjects Developer Kit\Utilities默认目录下找到RegAddins.bat文件

双击后将相关ADDINS DLL注册到VB6

正式开始:

1、打开VB 选择ActiveX工程

2、在ADDINS菜单下面选择ESRI Interface implementer ,然后在最上面下拉框中选择ICommand 接口,这个时候在VB中会自动生成关于ICommand 实现的SCHMEA代码(见图一)

    因为本人不太喜欢这么多错误检验的代码,所以使用了ESRI ErrorHander Remover 工具

3、因为我们一般希望在点击按钮后,会有FORM弹出(一般思维方式了,这也是常用的方式)所以我这里添加一个Form1(名称我就都按默认了,当然这是不好的习惯!呵呵)

4、这个时候为了让这个程序跑起来我开始添加几条核心代码

   Class1中:

Private m_pApp As IApplication

 

Private Sub ICommand_OnCreate(ByVal hook As Object)

   

   Set m_pApp = hook

   Set Form1.m_pApplication = m_pApp

  

   

End Sub

 

Private Sub ICommand_OnClick()

   

Form1.Show

 

End Sub

   Form1中添加:

  Public m_pApplication As IApplication

 具体代码我这里就不用多解释了吧?呵呵

5、为了明确代码的归属以及方便我们调用我们还需要做几个小工作:

1Private Property Get ICommand_Category() As String

   

    ICommand_Category = "数字北京"

   

End Property

2)另外在Form1窗体上添加ImageList1控件 添加一个BMP 图标 作为我们显示按钮的模样(如图二)

  并修改代码在Class1文件中修改:

Private Property Get ICommand_Bitmap() As esriCore.OLE_HANDLE

 

     ICommand_Bitmap = Form1.ImageList1.ListImages(1).Picture

    

   

End Property  

3)为了让我们默认的按钮可以使用,我们还需要对如下两个地方进行改动

Private Property Get ICommand_Enabled() As Boolean

          ICommand_Enabled = True

    End Property

 

Private Property Get ICommand_Checked() As Boolean

           ICommand_Checked = True

    End Property

4)为了方便我们后面的测试 ,我还在Form窗体上放了个Command 按钮,方便我们测试

posted on 2005-04-22 13:12  心也潇洒  阅读(2470)  评论(2编辑  收藏  举报