VB6+Mo图层顺序的调整(MoveToTop、MoveTo、MoveToBottom )

3 篇文章 2 订阅

VB6+Mo图层顺序的调整(MoveToTop、MoveTo)

object.MoveToTop 要移动图层的索引
移动图层顺序为第一层
object.MoveToBottom 要移动图层的索引
移动图层顺序为最后一层
object.MoveTo value1, value2
(value1是移动图层的索引,value2 是要移动的图层顺序)

示例:
1代码:

'在窗体加载时时,给lstLayers列表添加选择集
Private Sub Form_Load()
    Dim lyr As MapObjects2.MapLayer
    '清空lstLayers选择集中的列表
    lstLayers.Clear
    '遍历当前地图中图层, 将图层名称添加至 lstLayers选择集合中
     For Each lyr In Map1.Layers
       lstLayers.AddItem lyr.Name
     Next lyr
End Sub
'置顶图层
Private Sub Command1_Click()
    '定义一个矢量图层
    Dim lyr As MapObjects2.MapLayer
    If lstLayers.ListIndex <> -1 Then
       '移动当前选中图层至第一个
        Map1.Layers.MoveToTop lstLayers.ListIndex
        Map1.Refresh
        lstLayers.Clear
        For Each lyr In Map1.Layers
            lstLayers.AddItem lyr.Name
        Next lyr
        'lstLayers列表默认选中第一个图层
        lstLayers.Selected(0) = True
   End If
End Sub

'上移图层
Private Sub Command2_Click()
    Dim i As Integer
    Dim lyr As MapObjects2.MapLayer
    If lstLayers.ListIndex <> -1 And lstLayers.ListIndex > 0 Then
       i = lstLayers.ListIndex - 1
       Map1.Layers.MoveTo lstLayers.ListIndex, i
       Map1.Refresh
       lstLayers.Clear
       For Each lyr In Map1.Layers
         lstLayers.AddItem lyr.Name
       Next lyr
       lstLayers.Selected(i) = True
     End If
End Sub

'下移图层
Private Sub Command3_Click()
    Dim i As Integer
    Dim lyr As MapObjects2.MapLayer
    If lstLayers.ListIndex <> -1 And lstLayers.ListIndex < lstLayers.ListCount - 1 Then
       i = lstLayers.ListIndex + 1
       Map1.Layers.MoveTo lstLayers.ListIndex, i
       Map1.Refresh
       lstLayers.Clear
       For Each lyr In Map1.Layers
         lstLayers.AddItem lyr.Name
       Next lyr
      lstLayers.Selected(i) = True
     End If
End Sub

'置底图层
Private Sub Command4_Click()
    If lstLayers.ListIndex <> -1 Then
        Map1.Layers.MoveTo lstLayers.ListIndex, Map1.Layers.Count - 1
        Map1.Refresh
           lstLayers.Clear
           For Each lyr In Map1.Layers
             lstLayers.AddItem lyr.Name
           Next lyr
          lstLayers.Selected(Map1.Layers.Count - 1) = True
     End If
End Sub

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值