袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3797回复:10

请教 vb+mapx 的问题!谢谢!

楼主#
更多 发布于:2003-08-24 12:04
下面这段代码不知道为什么不能完成预定的功能.请高手帮忙解答一下,谢谢!!

'下面的程序段可以正常运行,但是没有达到预期的效果,为什么不能删除我想要删除的图元呢?
'要删除图元,请使用 Layer.DeleteFeature 方法。图元及表示它的行将立即从 MapInfo 表中删除。
' delete all selected features from the USA layer
    Dim obj As MapXLib.Feature
    Dim selectedFtrs As MapXLib.Features
    Dim lyr As MapXLib.Layer

    Set lyr = Map1.Layers(1)
    Set selectedFtrs = lyr.Selection
    For Each obj In selectedFtrs
        If obj.Name = "Some Text" Then
            lyr.DeleteFeature (obj)
        End If
    Next
喜欢0 评分0
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
终极无间
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
1楼#
发布于:2003-08-26 08:30

看 diagram
上面所有能修改的会给你提示的
举报 回复(0) 喜欢(0)     评分
再别康桥
路人甲
路人甲
  • 注册日期2003-08-16
  • 发帖数268
  • QQ
  • 铜币760枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2003-08-25 09:24
在MAPX的帮助中有Layer.name这个属性
你看一下用这个属性能不能修改图层的名称~
轻轻的我一如天边的云 轻轻的走过你的身旁 在你的心中划下淡淡的痕 难忘 ------------------------------------- http://www.21trip.com 世纪之旅欢迎您!!
举报 回复(0) 喜欢(0)     评分
终极无间
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
3楼#
发布于:2003-08-24 23:34
9 的问题可以直接找帮助的。
8 应该可以的,具体的代码没有尝试过,sorry.
7  Set Map1.Layers(1).Style = s 是所有的区域都用选择的样式来显示吗?
6 PredominantFeatureType  由于没有用过这个函数,现在这个机器上没有装的,不知道是不 是该层优先的feature 的type
5 你的代码好象没有问题的
4 这段代码的意思偶还没有看清楚的
3 你好象要验证该图层是否有选中的feature
2 frs 好象需要验证是否有内容
1 refresh
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2003-08-24 12:08
上面的代码都有问题,他们之间没有关系,没有联系,各个都是独立,请各位高手帮帮这只菜鸟吧!!

万分感谢!!!!
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2003-08-24 12:07
'    Dim sfile As Layer    '该语句有问题:不懂 with 语句的用法;另外,为什么出错??
'    With dlgcommondialog
'        .DialogTitle = "add layer"
'        .Filter = "mapinfo tables(*.tab)|*.tab"
'        .ShowOpen
'        If Len(.FileName) = 0 Then
'            Exit Sub
'        End If
'        sfile = .FileName
'    End With
'    On Error Resume Next
'    Map1.Layers.Add sfile
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2003-08-24 12:06
'    Dim lyr As Layer           '就是图层的名称!  那么:如何修改一个图层的名称呢!!
'    Set lyr = Map1.Layers(2)
'    Form1.Show
'    Form1.Print lyr                      '如何修改以有的图层的名称呢?
'    Set lyr = Map1.Layers.Item("US major cities")  '只能设置为已经存在了的图层名称,但是,这个方法不能修改图层的名称!
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2003-08-24 12:06
'    Dim s As MapXLib.Style           '该语句块有问题!
'    s.PickRegion
'    Set Map1.Layers(1).Style = s
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2003-08-24 12:06
下面的代码段在Layers 集合中按索引循环。检查集合中的每个Layer 对象并确定图层中显示
的图元的类型?
    Dim i As Integer
    For i = 1 To Map1.Layers.Count
        Select Case Map1.Layers(i).PredominantFeatureType
            Case miFeatureTypeRegion
                MsgBox "Layer " & lyr.Name & " contains regions"
            Case miFeatureTypeLine
                MsgBox "Layer " & lyr.Name & " contains lines"
            Case miFeatureTypeSymbol
                MsgBox "Layer " & lyr.Name & " contains symbols"
            Case miFeatureTypeMixed
                MsgBox "Layer " & lyr.Name & "contains mixed _ features"
            Case miFeatureTypeUnknown
                MsgBox "Layer " & lyr.Name & " contains unknown Features """
            Case miFeatureTypeText
                MsgBox "Layer " & lyr.Name & "contains text features"
        End Select
    Next
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2003-08-24 12:06
Dim DS As Object             '  workspaces 函数或子程序 未定义
    Dim DB As Object              '  难道这个不是系统提供的吗?
    Dim RS As Object
    Dim Temp As Object
    Set DB = Workspaces(0).OpenDatabase("Mapstats.mdb")
    Set RS = DB.OpenRecordset("USA")
    Set DS = Map1.DataSets.Add(miDataSetDAO, RS)
    Set Map1.Layers("usa").LabelProperties.Dataset = DS
    Set Temp = DS.Fields("GEONAME")
    Set Map1.Layers("usa").LabelProperties.DataField = Tem
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部