gisboy
卧底
卧底
  • 注册日期2003-07-26
  • 发帖数162
  • QQ
  • 铜币900枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2191回复:3

mo中加载多层图形,我如何判断鼠标点选的对象是处在哪个层上??

楼主#
更多 发布于:2004-07-24 13:08
mo中加载多层图形,我如何判断鼠标点选的对象是处在哪个层上??
假设我加载了map1/map2/mp3这三个图层。这三个图层都能在map控件上同时显示出来。我用什么方法可以判断鼠标点击的是哪个图层的对象?
喜欢0 评分0
Our doing are not really as important as we think. Our successes and failures didn't matter after all.
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-07-25 02:31
在你进行选择之前应该是先知道对哪个图层进行选择的
举报 回复(0) 喜欢(0)     评分
gisboy
卧底
卧底
  • 注册日期2003-07-26
  • 发帖数162
  • QQ
  • 铜币900枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-07-25 12:58
<P>我要做的是一个信息查询的东西,如果每次map控件显示的只是当前活动图层或者0图层,是没有问题的.但如果,我加载了map1/map2/mp3这三个图层,map2为未活动图层,但是map1的图形我也同时可以看到.这时候点击map1元素,以下代码就会有错误.</P><P>Index = frmMain.legMapDisp.getActiveLayer '获得getactielayer的值
If Index = -1 Then '为-1表明没有图层被激活
MsgBox "没有图层被激活", vbCritical, "错误信息"
Exit Sub
End If
'设置记录集对象
Set recs = frmMain.mapDisp.Layers.Item(Index).SearchByDistance(Loc, theTol, "") '实现对象的查找
这样,如果鼠标点击的是当前活动图层的对象,则mo的记录集对象recs就存放的是当前活动图层的相应记录.可一旦鼠标点击非活动图层的对象,就会造成recs对象未设置的情况发生</P>
Our doing are not really as important as we think. Our successes and failures didn't matter after all.
举报 回复(0) 喜欢(0)     评分
sirc_lizheng
伴读书童
伴读书童
  • 注册日期2004-07-09
  • 发帖数148
  • QQ
  • 铜币495枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-07-26 23:12
值得研究,我也遇到过此类问题。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部