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

本文介绍如何在Flex应用程序中为多个文本输入框实现鼠标滚轮的支持。通过监听鼠标滚轮事件并在不同文本框间切换焦点,可以实现文本框内数值的动态调整。文章提供了具体的实现代码,并探讨了如何配置滚轮增量。

导读:
  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

内容概要:本文提出了一种基于融合鱼鹰算法和柯西变异的改进麻雀优化算法(OCSSA),用于优化变分模态分解(VMD)的参数,进而结合卷积神经网络(CNN)与双向长短期记忆网络(BiLSTM)构建OCSSA-VMD-CNN-BILSTM模型,实现对轴承故障的高【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)精度诊断。研究采用西储大学公开的轴承故障数据集进行实验验证,通过优化VMD的模态数和惩罚因子,有效提升了信号分解的准确性与稳定性,随后利用CNN提取故障特征,BiLSTM捕捉时间序列的深层依赖关系,最终实现故障类型的智能识别。该方法在提升故障诊断精度与鲁棒性方面表现出优越性能。; 适合人群:具备一定信号处理、机器学习基础,从事机械故障诊断、智能运维、工业大数据分析等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统VMD参数依赖人工经验选取的问题,实现参数自适应优化;②提升复杂工况下滚动轴承早期故障的识别准确率;③为智能制造与预测性维护提供可靠的技术支持。; 阅读建议:建议读者结合Matlab代码实现过程,深入理解OCSSA优化机制、VMD信号分解流程以及CNN-BiLSTM网络架构的设计逻辑,重点关注参数优化与故障分类的联动关系,并可通过更换数据集进一步验证模型泛化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值