1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > ArcGIS二次开发之一:在ArcMap中启动ArcCatalog的代码实现

ArcGIS二次开发之一:在ArcMap中启动ArcCatalog的代码实现

时间:2019-10-21 18:32:03

相关推荐

ArcGIS二次开发之一:在ArcMap中启动ArcCatalog的代码实现

在ArcMap的快捷工具栏中,可以利用快捷按钮直接启动ArcCatalog,下面的代码将实现这一操作。

Sub ShowArcCatalog()

Dim pAppROT As AppROT

Dim pAppROTCountInt As Integer

Dim pAppROTCount As Integer

Dim pCommand As ICommandItem

Dim pAppWin As IWindowPosition

Dim i As Integer

Set pAppROT = New AppROT

pAppROTCountInt = pAppROT.Count

'启动ArcCatalog

Set pCommand = mandBars.Find(ArcID.Tools_Catalog)

pCommand.Execute

'将ArcCatalog应用程序添加入AppRPT

Do Until pAppROTCount = (pAppROTCountInt + 1)

pAppROTCount = pAppROT.Count

Loop

'获取正在运行的ArcCatalog程序

If TypeOf pAppROT.Item(pAppROTCount - 1) Is IGxApplication Then

Set pAppWin = pAppROT.Item(pAppROTCount - 1)

pAppWin.Move 10, 10, 600, 500

End If

End Sub

这段程序实现的关键在于对AppROT类和接口的理解,AppROT的全称是application running object table,用来记录当前正在运行的ArcGIS应用程序,但它只记录由IApplication实现的对象。当ArcGIS的应用程序运行的时候会自动向AppROT 注册,当关闭的时候也会自动清除。所以可以通过AppROT获取正在运行的所有ArcGIS应用程序,同时ArcObjects开发者也可以将自己利用IApplication产生的对象向AppRPT注册。

AppROT主要实现IAppROT接口,利用这个接口提供的Add和Remove方法实现向AppROT添加和移出对象,利用Count方法可以获取当前运行的ArcGIS应用程序总数。而Item方法则提供了当前运行的ArcGIS应用程序索引,利用Item方法开发者可以方面的获取任何一个正在运行的程序。

ArcID.Tools_Catalog主要是获取ArcCatalog对象,ArcID提供ArcGIS内置的菜单、工具栏等,比如如果想获取添加数据按钮,则使用ArcID.File_AddData,每一个ArcID都有一个唯一的标识码,开发者也可以直接通过标识码来进行获取。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。