civil3d开发使用鼠标滚轮控制缩放时出现仅调用两次的假象

工具简介

为了充分利用多屏,并且实现不绘制横断即可查看修改等功能,开发了civil3d道路模型修改工具。

问题描述及原因分析

其中,为实现使用滚轮缩放纵断,对纵断chart添加了MouseWheel事件。

在实现的过程中遇到个问题:轻轻滚动滚轮,MouseWheel事件调用一次,符合预期;滚轮滚动幅度大的情况下,只要超出了第一种情况的幅度,无论幅度多大,MouseWheel事件仅调用两次。

分析之后,原因是:由于MouseWheel事件中要从文档重新获取数据并重绘纵断,耗时较长,导致了重绘过程捕捉不到鼠标滚动事件,因此滚动幅度大的情况下,只能捕捉到始末两次。

 

解决办法

因为civil3d仍然是单线程(我对多线程也不熟),将耗时较小的用户缩放操作仍然放在MouseWheel事件,而将耗时较大的重绘操作放到MouseHover事件,取得了较为理想的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值