MapX 控件实现查询的功能
作者: 不详 来源: donews.net 更新日期:2005-12-12 阅读次数:1115
应用 MapX 控件实现查询的功能并不太难。MapX 为我们提供了 Find、FindFeature 等对象,可以
用来实现我们需要的功能:)
1、本程序实现从下列表中选择一个节点,并以此节点为中心进行进行定位的功能(实例以第一
层 RTUName 属性的值进行查询)
Private Sub Command1_Click()
Dim FindObj As MapXLib.Find
Dim FoundFeature As FindFeature
'从要查询的 RTU 图层生成 Find 对象,并为这个对象设置要查询的 FindDataSet、FindField 属性
Set FindObj = Form1.Map1.Layers.Item(1).Find
Set FindObj.FindDataset = Form1.Map1.DataSets("RTU 节点" & " dataset")
Set FindObj.FindField = FindObj.FindDataset.Fields("RTUName")
Set FoundFeature = FindObj.Search(Combo1.Text)
Me.Hide
' 关掉 AutoRedraw 是因为 CenterX(Y)的改变就要刷新图层,AutoRedraw 打开的话会造成二次刷
新
Form1.Map1.AutoRedraw = False
Form1.Map1.CenterX = FoundFeature.CenterX
Form1.Map1.CenterY = FoundFeature.CenterY
Form1.Show
End Sub
2、把上面的程序稍微改写一下,实现按照用户输入的字段进行查询定位的功能:
Private Sub Command2_Click()
Dim FindObj As MapXLib.Find
Dim FoundFeature As FindFeature
'从要查询的 RTU 图层生成 Find 对象,并为这个对象设置要查询的 FindDataSet、FindField 属性
Set FindObj = Form1.Map1.Layers.Item(1).Find
Set FindObj.FindDataset = Form1.Map1.DataSets("RTU 节点" & " dataset")
Set FindObj.FindField = FindObj.FindDataset.Fields("RTUName")
Set FoundFeature = FindObj.Search(Text1.Text)