Mapx自带的工具的理解

         Mapx自带了很多工具,可以轻松实现mi中很多的功能。但一进入具体应用,仍然有很多的问题。

         1、能直接用的:选择,缩放

         2、稍微加点东西的:四种加入工具:miAddPointTool,miAddLineTool,miAddPolylineTool,miAddRegionTool。它们在使用时需要说明插入层:
                      Set Map1.Layers.InsertionLayer = Map1.Layers.Item("标注")
         3、其实没有用的:miSymboltool,miTexttool等,都是往Annotations层上加的东西,无法被修改,无法被保存。
         对于点、线、面、文字都可以修改样式。可以对层,也可以对图元。以前都是用的对层的修改,无法保存。
          Set sty = Map1.Layers.Item("标注").Style.Clone
          sty.PickLine
          Set Map1.Layers.Item("标注").Style = sty
          Map1.Layers.Item("标注").OverrideStyle = True
         4、如果要对图元修改样式,就可以把样式具体到每一个图元,而且可以保存,一般代码是:
          Map1.Layers.Item("标注").OverrideStyle = False
          Set sty = gFtr.Style.Clone
          sty.PickLine
          Set gFtr.Style = sty
          gFtr.Update

         5、对于文本,由于不能直接使用miTexttool,所以采用间接的方式,弹出对话框询问文字内容,再用FeatureFactory创建。

      sss = InputBox("请输入要添加的文字?")
      If sss <> "" Then
        Dim txtftr As Feature
        Dim pt As New MapXLib.Point
        pt.Set Map1.CenterX, Map1.CenterY
        Set txtftr = Map1.FeatureFactory.CreateText(pt, sss)
        txtftr.Attach Map1
        Set txtftr = Map1.Layers.Item("标注").AddFeature(txtftr)
        Map1.Layers.Item("标注").Selection.SelectByID txtftr.FeatureID, 0
      End If
 
posted @ 2005-05-25 22:09  jetz  阅读(1349)  评论(0编辑  收藏  举报