Howto: 传递ArcMap应用程序对象到VB窗口中

文章编号: 397
软件: ArcInfo Desktop 8.3,9.0,ArcEditor 8.3,9.0,ArcView 8.3,9.0
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

摘要: 当你开发一个包含一个窗口的vb ActiveX DLL工程时,你需要传递一个ArcMap应用对象到这个窗口中。
内容: 1 创建一个新的Visual Basic ActiveX DLL工程,它需要实现ICommand接口。
'创建一个类,命名为clsApp;
'命名工程AoDemo;
2 添加一个Form到工程中,并命名为frmApp.
3 在frmApp代码窗口的常规声明区,声明一个模版级别的IApplication变量,代码如下:

Option Explicit
Private m_pApp As IApplication


4 在frmApp窗口中添加对Application进行Get和Set的操作的属性,代码如下:

Public Property Set Application(ByVal pApp As IApplication)
Set m_pApp = pApp
' *************************
' Add your custom code here
' *************************
End Property

Public Property Get Application() As IApplication
Set Application = m_pApp
End Property

5 在类模版clsApp中,添加Icommand接口的OnCreate方法的实现代码,如下:

Private Sub ICommand_OnCreate(ByVal hook As Object)

Set frmApp.Application = hook

End Sub

6 在clsApp中的Class_Terminate方法中,要记得释放应用程序的引用,代码如下:

Private Sub Class_Terminate()
Set frmApp.Application = Nothing
Unload frmApp
End Sub




创建时间:2004-08-25
最近更新:2004-08-25


原文链接
http://support.esrichina.com.cn/2004/0825/397.html

要回复问题请先登录注册