首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从MapX到MapXtreme2004[1]-工具选择

从MapX到MapXtreme2004[1]-工具选择

作者头像
用户1075292
发布2018-01-23 15:35:40
6900
发布2018-01-23 15:35:40
举报
文章被收录于专栏:听雨堂听雨堂听雨堂

  网上的MapXtreme的资料实在太少了,MapXtreme编程基本上只能靠英文帮助和以前的Mapx的一些底子。我想写一个系列,把Mapx到Mapxtreme的学习历程记录下来。

  在Mapx中为控件选择工具比较迅速,也很直观,如下:

             Map1.CurrentTool = miZoomInTool

  miZoomInTool是个枚举量,指定给CurrentTool属性即可,而且象在VB中,直接在等号之后就把备选项就列出来了,非常容易。

  在MapXtreme中,这个不起眼的问题却搞得有点麻烦,主要是架构有点变化,设置位置很容易找

              MapControl1.MapTools.CurrentTool=

  可是,要赋的值却比较麻烦,因为C#中并没有给出智能提示,而且在帮助和对象浏览器中也没有找到什么枚举值。帮助中说要赋String类型,试着

              MapControl1.MapTools.CurrentTool="ZoomInMapTool";

  但是出错。于是查找帮助,了解MapXtreme中的架构,大致如此:MapTools属于MapControl控件的工具集合,其中已经包含了10个工具,debug中挨个求出如下:

                    0:ZoomInMapTool

                    1:ZoomOutMapTool

                    2:PanMapTool

                    3:CenterMapTool

                    4:PointSelectionMapTool

                    5:RadiusSelectionMapTool

                    6:RectangleSelectionMapTool

                    7:PolygonSelectionMapTool

                    8:DistanceMapTool

                    9:InfoMapTool

  但是要选择工具,却不能用Index,也不能用某项的名字字符串,必须用toolname属性,而且必须这样

                    MapControl1.MapTools.CurrentTool =ZoomInMapTool.Toolname;

  因为Toolname是一个静态属性,所以必须用类名来引用,其他别的方式都不行。

  看来,以后要用哪个工具,得先查到工具名称,然后才能指定了。

其他相关:

  1、Toolname是这几个类的特定属性,在其他的工具类中没有。

  2、如果界面中已经放置了同功能的操作控件并关联到MapControl控件,那么将会干扰到程序选择的工具。比如,既放了自带的移动控件,又有一个按钮可以设置移动工具,在点击自定义的按钮,选择移动工具时,那么,界面中的移动控件就会自动处于被按下的状态。这时,再用自定义的选择工具去设置别的功能就不管用了,怎么都是移动功能。所以,最好只要一个就行了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2005-07-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档