有些时候需要在Flex界面中支持鼠标的滑轮滚动功能,比如通过滑轮滚的滚动来实现对某个Field的数值增加或者递减的功能。
实现的方法主要是利用MouseEvent.MOUSE_WHEEL事件。在Application中的creationComplete方法中增加以下语句:
systemManager.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel)
onMouseWheel事件处理器得到这个事件后,我们还需要监听是那个field支持而且触发了滚动事件。需要注意的是MouseEvent的currentTarget并不支持指出当前那个组件是被focus的。但是FocusManager可以帮忙:源代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
creationComplete="systemManager.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel)"
>
<mx:TextInput id="t1"/>
<mx:TextInput id="t2"/>
<mx:TextArea id="t3"/>
<mx:Script>
<![CDATA[
import mx.managers.IFocusManagerComponent;
import mx.managers.SystemManager;
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;
}
}
]]>
</mx:Script>
</mx:Application>
例子中我们是检查了被focus的组件是否是TextInput,如果是执行递增或者递减的功能。如果不是比如TextArea类型的,就不具有这
个效果了。需要注意的,如果你的系统不支持滑轮滚动可能跟驱动有关,不是Flex的问题。如果你不喜欢例子中的增长或者递减数值,你可以替换掉delta
这个属性。
原创作者:
分享到:
相关推荐
flex三种实现滚动条方式,其实是两种,样式的以两种表现形式写出了。然后,自定了一个滚动条
flex textlayout 滚动条 flex textlayout 滚动条 flex textlayout 滚动条
FLEX连续向左滚动字幕,可用于作公告栏展示。
Flex 按钮代替滚动条,看了就知道了。。
通过修改flex4滚动条的皮肤来修改Scroller组件的外观,外观直接去除了上下箭头,可以自行改变滚动条的皮肤颜色,投影颜色等。滚动条更加现代化。
flex实现的包括时间滚动,图片滚动效果,很好的
高级flex 曲线图 效果实现, Flex 拖动,滚动曲线图 LineChart 非常的使用
flex横向条形图增加滚动条,拖动滚动条显示数据
Flex中不用ScrollBar实现滚动效果
自定义滚动条.用canvas做滚动条条 用button做滑块
用flex开发的图片浏览效果。很酷 flex图片滚动效果 下载拷贝到flexbuilder中就可以用
flex实现鼠标滚动放大缩小(以鼠标的位置为中心放大缩小)源码奉上
flex iframe 支持在flash中嵌套入html jsp asp php等flex iframe 支持在flash中嵌套入html jsp asp php等flex iframe 支持在flash中嵌套入html jsp asp php等flex iframe 支持在flash中嵌套入html jsp asp php等flex...
基于flex图片轮换的集中方法,文本中为 源码
flex tree 自动显示横向滚动条 自定义重写
很好的解决了flex的tilelist中的checkbox 选中后,下拉滚动条乱选问题。同时解决了获取tilelist里面的数据问题。很不错的
flex支持拖拽的DataGrid,如果去查api来置一些属性将会比较麻烦,这个DataGrid可以获取拖拽的内容,这是一个application,可以直接运行
flex支持过滤的input,并显示出来,比如你在input 中输入个a它会把所有带a的显示出来,就类似google的模糊查询
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
支持手动拖拽缩放flex组件的组件,com.janisRadins.zip