Arc Engine 鹰眼的实现代码(C#)

第一步,要认清楚鹰眼为什么能够工作:

在窗体添加2个mapcontrol控件而已,一个是主图,一个是鹰眼。

在主图上无非可以进行客户能动主观的动作,比如鼠标的移动,鼠标的操作等,捕捉到这些动作反馈到鹰眼上去进行相关操作:比如鹰眼会自动的把焦点移动到主图焦点位置。

同理,在鹰眼上操作,也会把信息传递到主图,这就好比是handler,如此而已。

 

第二部,我们一步一步的去把这些事件和我们的目的结合到一起:

 

 

1.鹰眼的数据要和主图的数据一致,对不对?不然何来的鹰眼?

 

 

第二步,既然鹰眼的数据有了,那么我们给鹰眼上面画一个红色的矩形。

先认识一下mapcontrol的OnExtentUpdated事件:帮助文档这么写的:Fires after the extent (visible bounds) of the MapControl is changed.就是说,我们主图发生任何的边界改变都会触发这个事件?

那么好,在这个时间添加如下代码:

 

这代码的意思,就是在鹰眼控件上画一个红色矩形框,填充为透视可见而已。

 

再往后,我们就在在鼠标事件上做文章了

鹰眼上触发鼠标事件:

那么,我们就实现了,在鹰眼上根据主图的变化自动绘制矩形框大小,在鹰眼上左点击时,主图视点移动;右点击的时候,鹰眼上画自定义矩形,主图再根据这个矩形而改变视图的一套流程了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值