阅读:2354回复:3
mo中加载多层图形,我如何判断鼠标点选的对象是处在哪个层上??
mo中加载多层图形,我如何判断鼠标点选的对象是处在哪个层上??
假设我加载了map1/map2/mp3这三个图层。这三个图层都能在map控件上同时显示出来。我用什么方法可以判断鼠标点击的是哪个图层的对象? |
|
|
1楼#
发布于:2004-07-25 02:31
在你进行选择之前应该是先知道对哪个图层进行选择的
|
|
|
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> |
|
|
3楼#
发布于:2004-07-26 23:12
值得研究,我也遇到过此类问题。
|
|