打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB+MapX_Print.rar mapModule.bas
Attribute VB_Name = "mapModule"'/**************mapMoudule全局模块,定义了关于MapX的地图大小,尺寸以及在整个程序中要用到的层信息的全局变量***/'/**************和一组得到这些信息的函数************/'/**************它们用在frmMapPrev窗体中*********/'/***************代码编写人:肖兵.编写日期:2002-1-16************************/Global MapZoom As Double 'MAPX控件的地图视野属性Global MapWid As Double 'MAPX控件的宽度Global MapHei As Double 'MAPX控件的高度Global MapCenX As Double 'MAPX控件的地图中心点X坐标Global MapCenY As Double 'MAPX控件的地图中心点Y坐标Global MapLayFields() As String '经过MAPX数据绑定的地图层字段名称Global MapLayFieldVal() As String '经过MAPX数据绑定的地图层字段值Global MapLayFieldCnt As Integer '经过MAPX数据绑定的地图层字段个数Global MapLayRowCnt As Integer '经过MAPX数据绑定的地图层的属性记录个数Global MapLayerName() As String '经过MAPX数据绑定的数据集Dataset名称'****************此函数用于得到MAPX的Dataset的属性信息***************'***************其返回值是BOOL型,如果Dataset中没有属性记录就返回FALSE;不然就返回TRUE**********'***************它需要两个参数MapObj是程序中MAPX对象的名称;DatasetName是要预览其属性的MAPX中绑定的一个数据集的名称*********Public Function GetMapLayerAttr(ByVal MapObj As Object, ByVal DatasetName As String) As BooleanDim RowCount As Integer, FldCount As Integer 'RowCount是属性记录的个数;FldCount是属性记录的字段个数Dim i As Integer, k As Integer '用在循环中的计数器Dim DataSet As Object 'MAPX的数据集对象Set DataSet = MapObj.Datasets.Item(DatasetName) '根据数据集名称得到数据集对象实例FldCount = DataSet.Fields.count '得到数据集的字段个数MapLayFieldCnt = FldCount '将字段个数赋给全局变量 MapLayFieldCnt进行保存'以下If语句判断是否有字段,若无则返回FALSE并退出函数If FldCount = 0 ThenGetMapLayerAttr = FalseSet DataSet = NothingExit FunctionEnd If'给MapLayFields全局数组按字段个数分配大小,注意它是以0为基数ReDim MapLayFields(0 To FldCount - 1)'以下For循环语句来得到字段的名称For i = 0 To FldCount - 1MapLayFields(i) = DataSet.Fields.Item(i + 1).NameNext'得到数据集的记录个数RowCount = DataSet.RowCount'将记录个数赋给全局变量MapLayRowCnt进行保存MapLayRowCnt = RowCount'以下If语句判断记录个数是否为0,若是返回FALSE并退出函数If RowCount = 0 ThenGetMapLayerAttr = FalseSet DataSet = NothingExit FunctionEnd If'给MapLayFieldVal全局数组按记录个数和字段个数声明成二维数组并分配大小ReDim MapLayFieldVal(RowCount, FldCount)'以下For语句得到各记录的字段值For i = 1 To RowCountFor k = 1 To FldCountMapLayFieldVal(i, k) = DataSet.Value(i, k) & ""Next kNext i'函数返回TRUEGetMapLayerAttr = TrueEnd Function'*********************这个函数用来得到MAPX对象中数据集的名称便于在列表中显示和用户选择数据集进行预览*****************'********************它的返回值是BOOL型,如果没有数据集函数返回FALSE;若有则返回TRUE**********************'******************它有一个参数---MapObj代表程序所用的MAPX对象的名称*************************Public Function GetMapLayersName(ByVal MapObj As Object) As BooleanDim DataCnt As Integer '数据集的个数Dim k As IntegerDataCnt = MapObj.Datasets.count '得到MAPX的数据集个数'以下If语句来得到数据集的名称并存在MapLayerName全局数组中If DataCnt > 0 ThenReDim MapLayerName(DataCnt)For k = 1 To DataCntMapLayerName(k) = MapObj.Datasets.Item(k).NameNext kGetMapLayersName = TrueExit FunctionEnd If'若没有数据集函数返回FALSEGetMapLayersName = FalseEnd Function
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何制作简单的电子地图
国内各地图API坐标系统比较与转换
在VC++中嵌入MapX的集成二次开发
VB教程,VB案例:如何在 VB 中播放声音文件,VB源码,VB代码,VB源码下载,VB实...
一劳永逸让VB自动改变控件大小
[.net自定义控件]TextBox控件重写 之NumTextBox
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服