ht组态图纸获取背景颜色:dm().getBackground(),鼠标滚动事件3D场景如何禁止或打开响应;如何判断图纸透明不传递给3D,点击、滚轮等

比如平台的2D应用打开,背景是桌面默认的3D场景,2D中对表格、树进行滚动,结果3D也跟做缩放响应感觉很不好!

另一方面,在2D、3D叠加的场景,又需要2D中鼠标滚动能够缩放,甚至点击选中2D半透明组件后要让3D不能响应鼠标滚动,没点击选中时需要能直接响应3D场景鼠标缩放!

那么就在图纸加载实例化后,监听鼠标滚动事件,同时判断当前图纸的背景颜色,如果清空(配置中会闪出这项background)那么dm.getBackground()返回undefined,这个时候就调用event.stopPropagation()停止消息冒泡;否则就继续传递给3D场景:

DesktopApp.js:259

 

注意,这个时候,如果设置背景透明度为0,效果也是透明,但是不返回undefined,同样会阻挡事件响应的!

虽然平台应用的背景色一般不由图纸的background显示,因为一定会拖放一个矩形设置填充并且作为布局吸附的根节点,背景色也只会是这个矩形的颜色!但是如果要让3D场景显示出来,除了这个矩形要透明,图纸颜色也一定要透明才行!因此,判断图纸背景颜色是否有定义(最好是判断是否设置或者设置为透明),来决定是否阻挡2D应用中鼠标滚轮事件到3D场景!

同时,这也就要求即时矩形有背景色看起来也不透光名,但是也要对图纸设置颜色!否则只要图纸清空了背景色,即时当前你矩形铺满不透明,时间照样也会传递到3D场景去!

除了滚轮,还有对2D场景的图元点击、背景平移等,跟上面判断机制一样,当2D背景不透明时是对2D场景图纸的操作,不会传递到3D场景:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IOTOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值