【来自FRATA系统】如何支持鼠标滚动事件

导读:
  Mouse wheel support in FlexDecember 21, 2007 at 12:41 pm
  The problem
  Just two of the text fields on your Flex window have to support the mouse wheel. The user turns the wheel, the numeric field in these fields is incremented or decremented


问题描述


你FLEX面版上有两个text框要求支持鼠标滚动事件,随着鼠标的滚动文本数值相应的增加或者减少
  The solution
  As per the Flex manual, there is a MouseEvent.MOUSE_WHEEL event, just listen to it. So far so good. On the creationComplete event adding the one liner:


  systemManager.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel)
  The onMouseWheel event handler gets the MouseEvent, but the problem is that we have more than one field that needs to support the wheel. Which one to increment? The currentTarget of the MouseEvent does not report which text field has the focus. The currentTarget contains a reference to SystemManager.


  Fine, let’s see if the FocusManager can help:
  public function onMouseWheel (evt:MouseEvent): void {
  var compAtFocus: IFocusManagerComponent = focusManager.getFocus();
  // no wheel support unless it’s a TextInput field
  if (compAtFocus is TextInput){
  var theValue:Number=Number(compAtFocus[”text”]);
  theValue += evt.delta;
  compAtFocus[”text”]=”"+theValue;
  }



  And it works fine, see for yourself (right click to see the source code): http://www.myflex.org/codesamples/mousewheel/MouseWheel.html
  In this sample application I’ve created two text inputs that have to support the wheel, and one text area that should not. Hence, first thing I do in the code above is checking the type of the object that has the focus. If this was a text input, get its text property and add the value of delta that comes with event. This delta is default increment that you can configure for your mouse outside of the application. For example, in Windows, go to Control Panel and set the Mouse wheel increment to your liking. Just keep in mind, that support of the mouse wheel depends on the mouse driver that you use, and if something does not work, do not blame Flex.


  If you do not want to link the increment/decrement amount to your? mouse system settings, just do not use the delta property that comes with the MouseEvent and add/subtract any arbitrary value that meets your application’s needs.


解决方案


更具flex手册,有鼠标滑轮消息,那么监听之,这是第一步。具体怎么样的代码参看下面的文章(笔者懒得拷来考去的了),鼠标滚轮消息处理器获得鼠标消息之后,怎么做呢?问题是我们如何去处理两个文本框呢?哪一个增?哪一个减呢?响应函数的上下文并没有告诉我们哪一个获得了焦点。解决方案是上下文给了我们一个systemmanager的引用,可以从这里入手。这样做便解决了问题,如果有问题的话可以参看此链接的演示http://www.myflex.org/codesamples/mousewheel/MouseWheel.html


在这个应用中我们有俩TEXT控件,其中一个要支持滚动,另一个支持,因此我要做的事情就是,通过光标管来来判断这是不是一个text input而不是text area。这样我们再获得其text属性然后更新之。注意这里滚动的delta值可以在操作系统层面设置,是由驱动程序决定的,如果你的应用不正确,那么仔细查找原因不要责怪flex框架
  The homework
  1. Modify the above code to ensure that the numbers in your text field do not go to the negative territory.
  2. Modify the above code so it’ll support just one of the TextInput boxes.


作业:


1.需改上面的代码使得,鼠标的滚动不会使数值出现负数的情况


2.修改代码是的上面俄代码支持两个控件都是textinput,而只对其中一个响应鼠标滚动事件
  Regards,
  Yakov Fain

本文转自
http://flexblog.faratasystems.com/?p=278

内容概要:本文探讨了法律和标准对汽车电子电气架构(EEA)的深远影响,强调了其在汽车研发、生产、销售及使用各环节中的重要性。文章详细分析了在线检测技术(OBD)、电子稳定系统(ESP)、右/左转向盘设计和安全功能四大关键方面的影响。OBD技术要求诊断接口始终保持有效,确保通信安全可靠;ESP作为安全护盾,推动了汽车安全技术发展;转向盘设计需适应不同国家的交通规则;安全功能涵盖碰撞、制动、电气等方面,确保汽车在各种工况下安全。此外,ISO26262标准为EEA的功能安全提供了全面指导,涵盖从概念到生产的各个阶段,确保系统的可靠性和安全性。功能安全不仅关乎合规,更是企业的差异化竞争力,通过智能ASIL分解等策略,可以在降低成本的同时提升安全等级。 适合人群:汽车电子工程师、汽车制造商、政策制定者及相关行业从业者。 使用场景及目标:①理解法律和标准如何规范和引导汽车EEA设计;②掌握ISO26262标准的具体要求,确保EEA的安全性和可靠性;③学习如何通过功能安全策略提升产品竞争力。 阅读建议:本文内容详实,建议读者结合自身背景和需求,重点关注与自己工作相关的部分,特别是ISO26262标准的具体条款和技术细节。同时,读者应关注功能安全不仅仅是合规要求,更是提升产品竞争力的重要手段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值