中国地图
GIS探索者
遥感影像纠正
GIS论坛
网站首页| GIS论坛 |新闻动态 | 技术专栏 | GIS书籍 | 资源下载 | 求职招聘 | 研究生考试 | GIS博客 | GIS空间站
欢迎光临GIS空间站!   网站地图
  专栏导航:| ArcGIS | MapInfo | TopMap | 地理信息 | 遥感 | GPS | 测绘 | WebGIS | LBS | 前沿 | 数据库 | 开发 | 行业应用
  推荐栏目:| AO开发 | 业界动态 | GIS资源 | 招聘信息 | 求职简历 | 共享软件 | 电子书籍 | 研究生考题 | 电子期刊 | GIS论文
您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> AO开发 >> 文章正文

如何创建定制的工具条(Tool Bar)

作者:gis    文章来源:GIS帝国    点击数:    更新时间:2007-9-22
TopMap活动
如何创建定制的工具条(Tool Bar)

本例要实现的是如何创建定制的工具条(Tool Bar)。就必须在类模块中实现IToolBarDef接口。IToolBarDef接口包括 Caption、ItemCount及Name三个属性和GetItemInfo方法。

l 要点

通过在类模块中实现IToolBarDef接口。IToolBarDef接口包括 Caption、ItemCount及Name三个属性和GetItemInfo方法。

·ItemCount属性表示ToolBar显示的条目(Button、Tool或其它控件)数。

· GetItemInfo方法定义工具条上各条目的CLSID,其中,参数pos表示条目在ToolBar中的位置,itemDef 是定义相应位置的条目的IItemDef 对象。

·工具条条目的CLSID分为两种:

1、系统CLSID,代表ArcGIS的一个功能,其引用方式为"esriCore.命令名称",如"esriCore.AddDataCommand"、"esriCore.FileSaveCommand"等。

2、用户定制CLSID,表示用户自己定义的功能。其引用方式为"工程名称.定制功能类名称",如" ToolBarDef.ClsBar "。必须注意,这里“定制功能类名称”是工程中实现的一个功能类名称,“工程名称”即为当前工程的名称(不是DLL文件名,也不是工具条的名称),每次新建一个工程时,系统默认的工程名在某些情况下无法使用(在中文版的VB中是一个乱字符),必须改名后方能用。

l 程序说明

程序在类模块中实现IToolBarDef接口来创建自己的工具条(ToolBar)。

l 代码

Option Explicit
Implements IToolBarDef

Private Property Get IToolBarDef_Caption() As String
IToolBarDef_Caption = "CustomToolBar"
End Property

Private Sub IToolBarDef_GetItemInfo(ByVal pos As Long, ByVal itemDef As_                       esriCore.IItemDef)
  '这里假设在当前工程(工程名称为ToolBarDef)中定义了一个类模块(名为ClsBar),
  '它实现了Icommand接口(可参照1.2.1)
  Select Case pos
    Case 0
   '用户自定义条目
   itemDef.ID = "ToolBarDef.ClsBar"
   itemDef.Group = False
    Case 1
     '系统条目
      itemDef.ID = "esriCore.AddDataCommand"
      itemDef.Group = False
  End Select
End Sub

Private Property Get IToolBarDef_ItemCount() As Long
IToolBarDef_ItemCount = 2

End Property

Private Property Get IToolBarDef_Name() As String
IToolBarDef_Name = "CustomToolBar"

End Property


文章录入:wzj3sstudio    责任编辑:wzj3sstudio  发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
■■相 关 图 书:
■■相 关 文 章:
  • 如何创建定制的ToolControl

  • 本例要实现的是如何创建定制的菜单(Menu)

  • 本例要实现的是如何创建定制的MultiItem。

  • 本例要实现的是如何创建定制的Tool

  • 如何创建定制的按钮(Button)

  • 如何在VB环境中利用ArcObjects控件开发EXE

  • 如何在ArcMap中加载利用ArcObjects组件开发的ActiveX DLL

  • 上一篇文章:

  • 下一篇文章:
  •  
    GIS博客精华
    热点文章
    热门资源
     
    关于我们 | 联系我们 | 广告服务 | 友情链接 | 申请链接 | 合作联盟 | 诚聘英才
      GIS空间站(GISSky.Net)版权所有 站长:兔八哥