ArcEngine之ToolbarControl控件

本文详细介绍了ToolbarControl控件的功能和使用方法。ToolbarControl是ArcEngine中用于装载地图操作命令和工具的控件,可通过属性配置或代码配置方式添加工具。文章还讲解了如何区分工具和命令,并提供了添加item的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ToolbarControl是一个装载地图操作命令和工具的控件,该类内部维护一个CommandPool命令池,在这个命令池中存放着所有已经添加的Command对象,获取其中的Command可以通过CommandPool的get_Command方法,通过比较Command的名称,可以得到想要的Command对象。

也就是说,ToobarControl是一个工具箱,里面装有大量的工具用于操作地图,例如文件打开、缩放、移动、测量等等。在ArcEngine中这些工具就是一个个的Command对象。

ToolbarControl控件

ToolbarControl控件在设计界面如上图所示,准确来说,它是一个容纳各种地图操作命令和工具的容器,里面带有一些常用的工具,这些工具包括两种,一种是命令,一种工具,命令是一次性指令(保存、打开等),而工具则提供一个交互交互操作,需要用户进行二次操作(放大缩小、选择等),同时空间也支持支持自定义工具。

在ArcEngine中有两种方法配置toolbarcontrol:

1.控件属性配置

可以通过右键—属性,来对其属性进行配置,属性界面如下:

  • General是通用属性,可以通过其设置整个空间的边框、显示效果、鼠标样式和源,此外其bBuddy是一个重要的属性,它指定了toolbarcontrol的控制主体,即工具和命令作用的对象。如果没有绑定MapControl,则控件上的工具将处于未不可用状态(呈灰色),如图:

此外,下面的Enabled属性如果没有勾选,也会出现同样的情况。

  • Item是管理控件内部工具的选项,可以添加自带的工具,通过add选项添加对应的工具和命令,如下图所示:

通过,拖动选择排列顺序,通过右键删除工具。

  • Color用于设置toolbarcontrol工具栏背景的颜色,这里不详述。

2.代码配置

通过代码配置,向toolbarcontrol控件里面添加工具。上文说过,toolbarcontrol里面有一个CommandPool池,所以添加工具,其实就是添加一个个的command对象。而上文也说过,toolbarcontrol的item包括工具和命令,添加这两种对象的代码有所不同。其中工具类型的Command,一般以tool或是toolClass结尾;而命令类型的Command,一般以CommandClass结尾,具体可见:

https://wenku.baidu.com/view/261e41224b73f242336c5f68.html

下面是向toolbarcontrol控件添加item的代码:

 ICommand command = new ControlsMapFullExtentCommandClass();
 axToolbarControl1.AddItem(command, -1, -1, false, 0, esriCommandStyles.esriCommandStyleIconOnly);

同时,我们也可以通过代码实现方法一中的各类设置,比如设置toobarcontrol的enabled属性为true,就是相当于配置界面中,enabeled选项打钩。

除了添加ArcEngine自带的command外,还可以自定义command,具体可参考:https://blog.youkuaiyun.com/zhumingquanqq/article/details/73549806

最后有个提醒:

toolbarcontrol空间里面的item很多,有很多看起来很相似,主要集中在scene和map navigation两个上面,记得要区分开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值