首页 / 浏览问题 / 组件GIS / 问题详情
动态标绘选取问题
31EXP 2022年10月31日
您好,请问在动态图层添加了标绘后,怎么实现鼠标左键点击标绘,后台返回标绘的对象

1个回答

您好,关于鼠标的点击事件需要在UI控件上实现,请问您使用的 iObjects 组件哪个版本呢?C++、.NET 还是 Java 组件呢?具体是 11i、10.2.1?还是其他版本呢?

如果您使用的是 iObjects C++ 组件的话,在 qmapcontrol UI 控件中有实现对应的鼠标响应事件 mousePressEvent 和 mouseReleaseEvent,如果您觉得无法满足您的需求的话,建议继承该类重写对应的鼠标响应事件,或者直接修改这些鼠标响应事件的具体执行逻辑。

关于具体如何在 C++ 实现鼠标监听事件,建议您可以参考 C++ 开发语言学习教程。

如果您使用的是 .NET 或者 Java 组件的话,和上述流程类似,都是需要在 UI 控件上对鼠标行为进行监听,实现对应的监听事件。

希望可以帮到您。
2,163EXP 2022年10月31日
您好,UGC::UGMapEditorWnd 是 iObjects C++ 封装好的库,是无法提供源码的,还望理解
好吧,那请问这个graphs类是什么类,这个类可以适用于geometry类吗,那样没源码就可以用了
您好,UGGraphics是画布类,用于绘制Geometry几何对象的。

新问题建议您重新发帖提问,这样可以便于所有人检索查看,还望理解。
嗯嗯,就是onlbittondown的参数不就是uggraphs吗,就想问一下,有没有办法直接使用这个函数实现点击侦测,毕竟标牌就可以直接用这个函数,用UGGraphs画的UGGeometry按理说也可以吧

因为觉得是一个问题就没有开贴,不好意思
您好,无法直接基于 OnLButtonDown 事件实现点击侦测功能,目前 OnLButtonDown 事件已经在 iObjects C++ 组件中封装好了,无法修改其内容,由于 QDynamicObject 没有实现选中状态属性,目前并不适合您的需求,建议直接使用 UGLayer,UGLayer 中实现了获取当前选中集(GetSelection())的接口,可以根据该接口获取选中的几何对象。
...