fl.controls
public class ComboBox
继承ComboBox Inheritance UIComponent Inheritance Sprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
实现 IFocusManagerComponent

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

ComboBox 组件包含一个下拉列表,用户可以从该列表中选择单个值。 其功能与 HTML 中的 SELECT 表单元素的功能相似。 ComboBox 组件可以是可编辑的,在这种情况下,用户可以在 ComboBox 组件的 TextInput 部分键入不在列表中的条目。

查看示例

另请参见

List
TextInput



公共 属性
 属性定义方
 InheritedaccessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
DisplayObject
 Inheritedalpha : Number
指示指定对象的 Alpha 透明度值。
DisplayObject
 InheritedblendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
DisplayObject
 InheritedbuttonMode : Boolean
指定此 sprite 的按钮模式。
Sprite
 InheritedcacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
DisplayObject
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedcontextMenu : ContextMenu
指定与此对象相关联的上下文菜单。
InteractiveObject
  dataProvider : DataProvider
获取或设置要查看的项目列表的数据模型。
ComboBox
 InheriteddoubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。
InteractiveObject
  dropdown : List
[read-only] 获取对 ComboBox 组件所包含的 List 组件的引用。
ComboBox
  dropdownWidth : Number
获取或设置下拉列表的最大宽度,以像素为单位。
ComboBox
 InheriteddropTarget : DisplayObject
[read-only] 指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。
Sprite
  editable : Boolean
获取或设置一个布尔值,该值指示 ComboBox 组件为可编辑还是只读。
ComboBox
 Inheritedenabled : Boolean
获取或设置一个值,该值指示组件是否可以接受用户交互。
UIComponent
 Inheritedfilters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。
DisplayObject
 InheritedfocusEnabled : Boolean
获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。
UIComponent
 InheritedfocusManager : IFocusManager
获取或设置为此组件及其同级组件控制焦点的 FocusManager。
UIComponent
 InheritedfocusRect : Object
指定此对象是否显示焦点矩形。
InteractiveObject
 Inheritedgraphics : Graphics
[read-only] 指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘画命令。
Sprite
 Inheritedheight : Number
获取或设置组件的高度,以像素为单位。
UIComponent
 InheritedhitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。
Sprite
  labelField : String
获取或设置 dataProvider 对象中的字段名称,该字段名称将显示为 TextInput 字段和下拉列表的标签。
ComboBox
  labelFunction : Function
获取或设置用于获得项的标签的函数。
ComboBox
  length : int
[read-only] 获取列表中的项目数。
ComboBox
 InheritedloaderInfo : LoaderInfo
[read-only] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。
DisplayObject
 Inheritedmask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。
DisplayObject
 InheritedmouseChildren : Boolean
确定对象的子项是否支持鼠标。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
指定此对象是否接收鼠标消息。
InteractiveObject
 InheritedmouseFocusEnabled : Boolean
获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。
UIComponent
 InheritedmouseX : Number
[read-only] 指示鼠标位置的 x 坐标,以像素为单位。
DisplayObject
 InheritedmouseY : Number
[read-only] 指示鼠标位置的 y 坐标,以像素为单位。
DisplayObject
 Inheritedname : String
指示 DisplayObject 的实例名称。
DisplayObject
 InheritednumChildren : int
[read-only] 返回此对象的子项数目。
DisplayObjectContainer
 InheritedopaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] 指示包含此显示对象的 DisplayObjectContainer 对象。
DisplayObject
  prompt : String
获取或设置对 ComboBox 组件的提示。
ComboBox
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
  restrict : String
获取或设置用户可以在文本字段中输入的字符。
ComboBox
 Inheritedroot : DisplayObject
[read-only] 对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。
DisplayObject
 Inheritedrotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。
DisplayObject
  rowCount : uint
获取或设置没有滚动条的下拉列表中可显示的最大行数。
ComboBox
 Inheritedscale9Grid : Rectangle
当前有效的缩放网格。
DisplayObject
 InheritedscaleX : Number
将组件的当前宽度与缩放系数相乘。
UIComponent
 InheritedscaleY : Number
将组件的当前高度与缩放系数相乘。
UIComponent
 InheritedscrollRect : Rectangle
显示对象的滚动矩形范围。
DisplayObject
  selectedIndex : int
获取或设置单选列表中的选定项目的索引。
ComboBox
  selectedItem : Object
获取或设置下拉列表中所选项目的值。
ComboBox
  selectedLabel : String
[read-only] 获取显示在 ComboBox 组件的 TextInput 部分中的字符串。
ComboBox
 InheritedsoundTransform : SoundTransform
控制此 sprite 中的声音。
Sprite
 Inheritedstage : Stage
[read-only] 显示对象的舞台。
DisplayObject
 InheritedtabChildren : Boolean
确定对象的子项是否支持 Tab 键。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。
InteractiveObject
 InheritedtabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。
InteractiveObject
  text : String
获取或设置可编辑 ComboBox 组件中文本框所包含的文本。
ComboBox
  textField : TextInput
[read-only] 获取对 ComboBox 组件所包含的 TextInput 组件的引用。
ComboBox
 InheritedtextSnapshot : TextSnapshot
[read-only] 返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。
DisplayObjectContainer
 Inheritedtransform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。
DisplayObject
 InheriteduseHandCursor : Boolean
布尔值,指示当鼠标滑过其 buttonMode 属性设置为 true 的 sprite 时是否显示手指形(手形光标)。
Sprite
  value : String
[read-only] 获取可编辑 ComboBox 组件中的项目的标签。
ComboBox
 Inheritedversion : String = "3.0.0.13"
组件的版本号。
UIComponent
 Inheritedvisible : Boolean
获取或设置一个值,该值指示当前组件实例是否可见。
UIComponent
 Inheritedwidth : Number
获取或设置组件的宽度(以像素为单位)。
UIComponent
 Inheritedx : Number
获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。
UIComponent
 Inheritedy : Number
获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。
UIComponent
公共 方法
 方法定义方
  
创建新的 ComboBox 组件实例。
ComboBox
 Inherited
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
DisplayObjectContainer
 Inherited
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
  
向项目列表的末尾追加项目。
ComboBox
  
addItemAt(item:Object, index:uint):void
在指定索引位置处将项目插入列表。
ComboBox
 Inherited
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。
DisplayObjectContainer
 Inherited
删除此组件实例中的样式属性。
UIComponent
  
关闭下拉列表。
ComboBox
 Inherited
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。
DisplayObjectContainer
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
在此组件上显示或隐藏焦点指示符。
UIComponent
 Inherited
启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。
UIComponent
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。
DisplayObject
 Inherited
返回位于指定索引处的子显示对象实例。
DisplayObjectContainer
 Inherited
返回具有指定名称的子显示对象。
DisplayObjectContainer
 Inherited
返回 DisplayObject 的 child 实例的索引位置。
DisplayObjectContainer
 Inherited
检索当前具有焦点的对象。
UIComponent
  
检索指定索引处的项目。
ComboBox
 Inherited
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。
DisplayObject
 Inherited
检索组件的样式查找链中设置的样式属性。
UIComponent
  
[static] 检索当前组件的默认样式映射。
ComboBox
 Inherited
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
DisplayObject
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
DisplayObject
 Inherited
invalidate(property:String, callLater:Boolean = true):void
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。
UIComponent
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
基于 labelField 和 labelFunction 属性检索渲染器将为给定数据对象显示的字符串。
ComboBox
 Inherited
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
DisplayObject
 Inherited
[static] 将多个类的样式合并到一个对象中。
UIComponent
 Inherited
将组件移动到其父项内的指定位置。
UIComponent
  
打开下拉列表。
ComboBox
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
  
删除列表中的所有项目。
ComboBox
 Inherited
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。
DisplayObjectContainer
 Inherited
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
从列表中删除指定项目。
ComboBox
  
删除指定索引位置处的项目。
ComboBox
  
用其它项目替换指定索引位置处的项目。
ComboBox
 Inherited
更改现有子项在显示对象容器中的位置。
DisplayObjectContainer
 Inherited
设置此组件的焦点。
UIComponent
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
setSize(width:Number, height:Number):void
将组件设置为指定宽度和高度。
UIComponent
 Inherited
setStyle(style:String, value:Object):void
对此组件实例设置样式属性。
UIComponent
  
sortItems(... sortArgs):*
对当前数据提供者的元素进行排序。
ComboBox
  
sortItemsOn(field:String, options:Object = null):*
以当前数据提供者的一个或多个字段为依据对其元素进行排序。
ComboBox
 Inherited
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
允许用户拖动指定的 Sprite。
Sprite
 Inherited
结束 startDrag() 方法。
Sprite
 Inherited
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。
DisplayObjectContainer
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
验证并更新此对象的属性和布局,如果需要的话重绘对象。
UIComponent
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件摘要定义方
 Inherited Flash Player 获得操作系统焦点并变为活动状态时调度。EventDispatcher
 Inherited 将显示对象添加到显示列表中时调度。DisplayObject
 Inherited 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。DisplayObject
   当用户更改 ComboBox 组件中的选定内容时调度,或者如果 ComboBox 组件可编辑,每当用户在文本字段中键击时调度。ComboBox
 Inherited 用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。InteractiveObject
   当因任何原因而取消下拉列表时调度。ComboBox
 Inherited Flash Player 失去操作系统焦点并变为非活动状态时调度。EventDispatcher
 Inherited 如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。InteractiveObject
   在以下情况下调度:editable 属性设置为 true,并且用户在可编辑文本字段中键入时按下 Enter。ComboBox
 Inherited 播放头进入新帧时调度。DisplayObject
 Inherited 显示对象获得焦点后调度。InteractiveObject
 Inherited 显示对象失去焦点后调度。InteractiveObject
 Inherited 在组件可见性从可见改为不可见以后调度。UIComponent
   当用户将指针滑离组件中的项目时调度。ComboBox
   当用户将指针滑过组件中的项目时调度。ComboBox
 Inherited 用户按下某个键时调度。InteractiveObject
 Inherited 用户尝试使用键盘导航更改焦点时调度。InteractiveObject
 Inherited 用户释放某个键时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户在 InteractiveObject 实例上按下指针设备按钮时调度。InteractiveObject
 Inherited 用户尝试使用指针设备更改焦点时调度。InteractiveObject
 Inherited 用户移动 InteractiveObject 上的指针设备时调度。InteractiveObject
 Inherited 用户将指针设备从 InteractiveObject 实例上移开时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户将指针设备移动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户在 InteractiveObject 实例上释放指针设备按钮时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,鼠标滚轮滚动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 在移动组件以后调度。UIComponent
   当用户单击下拉按钮以显示下拉列表时调度。ComboBox
 Inherited 将要从显示列表中删除显示对象时调度。DisplayObject
 Inherited 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。DisplayObject
 Inherited 将要更新和呈现显示列表时调度。DisplayObject
 Inherited 在调整组件大小以后调度。UIComponent
 Inherited 用户将指针设备从 InteractiveObject 实例上移开时调度。InteractiveObject
 Inherited 用户将指针设备移动到 InteractiveObject 实例上时调度。InteractiveObject
   当用户滚动 ComboBox 组件的下拉列表时调度。ComboBox
 Inherited 在组件可见性从不可见改为可见以后调度。UIComponent
 Inherited 对象的 tabChildren 标志值发生更改时调度。InteractiveObject
 Inherited 对象的 tabEnabled 标志发生更改时调度。InteractiveObject
 Inherited 对象的 tabIndex 属性值发生更改时调度。InteractiveObject
样式
 样式说明定义方
  
buttonWidth
类型: Number   格式: Length
用于分隔组件的右边缘和代表所选项目的文本的空白(以像素为单位)。 该按钮是背景外观的一部分。 默认值为 24.
ComboBox
  
cellRenderer
类型: Class
为组件中的每个项目提供单元格渲染器的类。. 默认值为 fl.controls.listClasses.CellRenderer.
ComboBox
  
contentPadding
类型: Number   格式: Length
内容(组件和滚动条)和背景外边缘之间的填充(以像素为单位)。. 默认值为 3.
ComboBox
  
disabledAlpha
类型: Class
enabled 属性为 false 时将列表设置为的 Alpha 值。. 默认值为 0.5.
ComboBox
  
disabledSkin
类型: Class
类的名称,该类提供当 ComboBox 组件的 enabled 属性设置为 false 时显示在该组件中的背景。 默认值为 ComboBox_disabledSkin.
ComboBox
 Inherited 类型: flash.text.TextFormat
用于在禁用了按钮的情况下呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x999999, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0).
UIComponent
  
downArrowDisabledSkin
类型: Class
类的名称,该类用作当禁用了滚动条时滚动条的向下箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_disabledSkin.
ComboBox
  
downArrowDownSkin
类型: Class
类的名称,该类用作当单击滚动条的向下箭头按钮时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_downSkin.
ComboBox
  
downArrowOverSkin
类型: Class
类的名称,该类用作当鼠标指针在滚动条的向下箭头按钮上方时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_overSkin.
ComboBox
  
downArrowUpSkin
类型: Class
类的名称,该类用作滚动条的向下箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowDown_upSkin.
ComboBox
  
downSkin
类型: Class
类的名称,该类提供当按下鼠标按键时 ComboBox 组件中的背景。 默认值为 ComboBox_downSkin.
ComboBox
  
embedFonts
类型: Boolean
指示是否使用嵌入字体轮廓呈现文本字段。 如果该值为 true,则 Flash Player 使用嵌入字体轮廓呈现文本字段。 如果该值为 false,则 Flash Player 使用设备字体呈现文本字段。

如果将文本字段的 embedFonts 属性设置为 true,则必须使用应用于该文本字段的 TextFormat 对象的 font 属性来指定该文本的字体。 如果指定的字体没有嵌入 SWF 文件中,则不会显示该文本。

. 默认值为 false.
ComboBox
 Inherited 类型: Number   格式: Length
用于分隔组件的外边框和焦点指示符的外边框的填充(以像素为单位)。 默认值为 2.
UIComponent
 Inherited 类型: Class
用于显示焦点指示符的外观。 默认值为 focusRectSkin.
UIComponent
  
overSkin
类型: Class
类的名称,该类提供当鼠标光标位于 ComboBox 组件上方时显示在该组件中的背景。 默认值为 ComboBox_overSkin.
ComboBox
  
repeatDelay
类型: Number   格式: Time
在第一次调度 buttonDown 事件之后、发送第二个 buttonDown 事件之前等待的毫秒数。. 默认值为 500.
ComboBox
  
repeatInterval
类型: Number   格式: Time
在由 repeatDelay 样式指定的延迟之后调度的 buttonDown 事件之间的间隔(以毫秒为单位)。. 默认值为 35.
ComboBox
 Inherited 类型: flash.text.TextFormat
用于呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x000000, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0).
UIComponent
  
textPadding
类型: Number   格式: Length
用于分隔边框和代表所选项目的文本的空白(以像素为单位)。 默认值为 3.
ComboBox
  
thumbArrowUpSkin
类型: Class
类的名称,该类用作滚动条的缩略图的外观。. 默认值为 ScrollThumb_upSkin.
ComboBox
  
thumbDisabledSkin
类型: Class
用于指示缩略图的禁用状态的外观。. 默认值为 ScrollThumb_upSkin.
ComboBox
  
thumbDownSkin
类型: Class
类的名称,该类用作当单击滚动条的缩略图时该缩略图的外观。. 默认值为 ScrollThumb_downSkin.
ComboBox
  
thumbIcon
类型: Class
类的名称,该类用作滚动条的缩略图的图标。. 默认值为 ScrollBar_thumbIcon.
ComboBox
  
thumbOverSkin
类型: Class
类的名称,该类用作当鼠标指针在滚动条的缩略图上方时该缩略图的外观。. 默认值为 ScrollThumb_overSkin.
ComboBox
  
trackDisabledSkin
类型: Class
用于指示被禁用轨道的外观。. 默认值为 ScrollTrack_Skin.
ComboBox
  
trackDownSkin
类型: Class
用于指示被禁用外观的按下状态的外观。. 默认值为 ScrollTrack_Skin.
ComboBox
  
trackOverSkin
类型: Class
用于指示滚动轨道的鼠标悬停状态的外观。. 默认值为 ScrollTrack_Skin.
ComboBox
  
trackUpSkin
类型: Class
用于指示滚动轨道的鼠标松开状态的外观。. 默认值为 ScrollTrack_Skin.
ComboBox
  
upArrowDisabledSkin
类型: Class
类的名称,该类用作当禁用了滚动条时滚动条的向上箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_disabledSkin.
ComboBox
  
upArrowDownSkin
类型: Class
类的名称,该类用作当单击滚动条的向上箭头按钮时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_downSkin.
ComboBox
  
upArrowOverSkin
类型: Class
类的名称,该类用作当鼠标指针在滚动条的向上箭头按钮上方时该按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_overSkin.
ComboBox
  
upArrowUpSkin
类型: Class
类的名称,该类用作滚动条的向上箭头按钮的外观。 如果以图形化方式或编程方式更改该外观,您应当确保新外观与轨道具有相同的高度(对于水平滚动条)或高度(对于垂直滚动条)。. 默认值为 ScrollArrowUp_upSkin.
ComboBox
  
upSkin
类型: Class
提供 ComboBox 组件背景的类的名称。 默认值为 ComboBox_upSkin.
ComboBox
属性详细信息
dataProvider属性
dataProvider:DataProvider  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置要查看的项目列表的数据模型。 数据提供者可由多个基于列表的组件共享。 对数据提供者所做的更改会立即应用于将其用作数据源的所有组件。


实现
    public function get dataProvider():DataProvider
    public function set dataProvider(value:DataProvider):void

另请参见


示例
如何使用示例

下例演示了如何设置 ComboBox 的数据提供者。 当数据提供者更新时,ComboBox 也随之更新:

import fl.controls.ComboBox;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();

var cb:ComboBox = new ComboBox();
cb.dataProvider = dp;
addChild(cb);

var counter = 0;
var t:Timer = new Timer(500);
t.addEventListener(TimerEvent.TIMER,addAnotherItem);
t.start();

function addAnotherItem(e:TimerEvent = null):void {
    dp.addItem( { label: "Item " + counter++ } );
}
dropdown属性 
dropdown:List  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取对 ComboBox 组件所包含的 List 组件的引用。 直到必须显示 List 子组件时才会在 ComboBox 内将其实例化。 但是,访问 dropdown 属性时会创建列表。


实现
    public function get dropdown():List
dropdownWidth属性 
dropdownWidth:Number  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置下拉列表的最大宽度,以像素为单位。 此属性的默认值为 ComboBox 组件的宽度(TextInput 实例的宽度加上 BaseButton 实例的宽度)。

默认值为 100.


实现
    public function get dropdownWidth():Number
    public function set dropdownWidth(value:Number):void

示例
如何使用示例

下例创建一个 ComboBox 组件实例,并根据 Slider 组件的值设置其 dropdownWidth 属性:

import fl.controls.ComboBox;
import fl.controls.Slider;
import fl.events.SliderEvent;

var mySlider:Slider = new Slider();
mySlider.minimum = 50;
mySlider.maximum = 150;
mySlider.liveDragging = true;
mySlider.snapInterval = 5;
mySlider.tickInterval = 10;
mySlider.addEventListener(SliderEvent.CHANGE, changeHandler);
mySlider.move(10, 10);
addChild(mySlider);

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item A"});
myComboBox.addItem({label:"Item B"});
myComboBox.move(10, 30);
addChild(myComboBox);

mySlider.value = myComboBox.dropdownWidth;

function changeHandler(event:SliderEvent):void {
    myComboBox.dropdownWidth = event.value;
}

下例创建一个 ComboBox 组件实例,并根据下拉列表中文本的长度设置其 dropdownWidth 属性:

import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"The quick brown fox"});
myComboBox.addItem({label:"Lorem ipsum"});
myComboBox.addItem({label:"Little Miss Muffet"});
myComboBox.addItem({label:"Goldilocks and the three bears"});
myComboBox.addItem({label:"Jack and Jill"});
myComboBox.move(10, 30);
addChild(myComboBox);

var maxLength:Number = 0;
var i:uint;
for (i = 0; i < myComboBox.length; i++) {
    myComboBox.selectedIndex = i;
    myComboBox.drawNow();
    var currText:String = myComboBox.text;
    var currWidth:Number = myComboBox.textField.textWidth;
    maxLength = Math.max(currWidth, maxLength);
    trace(currText, currWidth, maxLength);
}

myComboBox.selectedIndex = -1;
myComboBox.dropdownWidth = maxLength + 20;
myComboBox.open();
editable属性 
editable:Boolean  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置一个布尔值,该值指示 ComboBox 组件为可编辑还是只读。 true 值指示 ComboBox 组件可编辑;false 值指示该组件不可编辑。

在可编辑 ComboBox 组件中,用户可以在文本框中输入下拉列表中未显示的值。 文本框显示列表中的项目的文本。 如果 ComboBox 不可编辑,则不能在文本框中输入文本。

默认值为 false.


实现
    public function get editable():Boolean
    public function set editable(value:Boolean):void

示例
如何使用示例

下例创建一个新的可编辑 ComboBox 实例,该实例在调度 enter 事件时向数据提供者添加自定义项目:

import fl.controls.ComboBox;
import fl.data.DataProvider;
import fl.events.ComponentEvent;

var dp:DataProvider = new DataProvider();

var myComboBox:ComboBox = new ComboBox;
myComboBox.dataProvider = dp;
myComboBox.editable = true;
myComboBox.addEventListener(ComponentEvent.ENTER, enterHandler);
myComboBox.move(10, 10);
addChild(myComboBox);

function enterHandler(event:ComponentEvent):void {
    var myCB:ComboBox = event.currentTarget as ComboBox;
    dp.addItem({label:myCB.text});
    myCB.text = "";
    myCB.sortItemsOn("label", Array.CASEINSENSITIVE);
}
labelField属性 
labelField:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置 dataProvider 对象中的字段名称,该字段名称将显示为 TextInput 字段和下拉列表的标签。

默认情况下,组件将显示各 dataProvider 项目的 label 属性。 如果 dataProvider 项目不包含 label 属性,则可以设置 labelField 属性以使用其它属性。

注意:labelField 属性不在 labelFunction 属性设置为回调函数时使用。

默认值为 "label".


实现
    public function get labelField():String
    public function set labelField(value:String):void

另请参见


示例
如何使用示例

下例创建一个 ComboBox,并设置 labelField 属性以设置自定义标签字段:

import fl.controls.ComboBox;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({firstName:"Jane", lastName:"Doe"}); 
dp.addItem({firstName:"Bill", lastName:"Smith"});
dp.addItem({firstName:"Tim", lastName:"Jones"});
dp.sortOn(["firstName","lastName"]);

var myComboBox:ComboBox = new ComboBox();
myComboBox.dataProvider = dp;
myComboBox.labelField = "firstName";
myComboBox.move(10, 10);
addChild(myComboBox);
labelFunction属性 
labelFunction:Function  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置用于获得项的标签的函数。

默认情况下,组件将显示 dataProvider 项目的 label 属性。 但某些数据集可能没有 label 字段,或者没有不需修改其值即可用作标签的字段。 例如,某给定数据集可能存储了全名,但将全名分开保存在 lastNamefirstName 字段中。 在这种情况下,此属性可能用来设置一个回调函数,该函数将 lastNamefirstName 字段的值连接在一起成为全名字符串以供显示。

注意:labelField 属性不在 labelFunction 属性设置为回调函数时使用。


实现
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void

另请参见


示例
如何使用示例

此示例将列表的 labelFunction 属性设置为一个函数,该函数为要显示在每个单元格中的字符串设置格式:
import fl.data.DataProvider;
import fl.controls.List;

var myDataProvider:DataProvider = new DataProvider();
myDataProvider.addItem({name:"User A", price:0.43});
myDataProvider.addItem({name:"User B", price:0.34});

var users:List = new List();
users.dataProvider = myDataProvider;
users.labelFunction = myLabelFunction;
addChild(users);

function myLabelFunction(item:Object):String {
    return  item.name + " ($" + item.price.toFixed(2) + ")";
}

下例创建一个 ComboBox,并设置 labelField 属性以设置自定义标签字段:

import fl.controls.ComboBox;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({firstName:"Jane", lastName:"Doe"}); 
dp.addItem({firstName:"Bill", lastName:"Smith"});
dp.addItem({firstName:"Tim", lastName:"Jones"});
dp.sortOn(["lastName", "firstName"]);

var myComboBox:ComboBox = new ComboBox();
myComboBox.dataProvider = dp;
myComboBox.labelFunction = nameLabelFunction;
myComboBox.move(10, 10);
addChild(myComboBox);

function nameLabelFunction(item:Object):String {
    return item.lastName + ", " + item.firstName;
}
length属性 
length:int  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取列表中的项目数。 此属性属于 List 组件,但是不能从 ComboBox 实例进行访问。

默认值为 0.


实现
    public function get length():int

另请参见


示例
如何使用示例

下例创建一个 ComboBox,并根据 ComboBox 中的项目数设置其 rowCount 属性:

import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item A"});
myComboBox.addItem({label:"Item B"});
myComboBox.addItem({label:"Item C"});
myComboBox.addItem({label:"Item D"});
myComboBox.addItem({label:"Item E"});
myComboBox.addItem({label:"Item F"});
myComboBox.rowCount = myComboBox.length / 2;
addChild(myComboBox);

下例创建一个 ComboBox,并根据 ComboBox 中的项目数设置其 rowCount 属性:

import fl.controls.ComboBox;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({label:"Item A"});
dp.addItem({label:"Item B"});
dp.addItem({label:"Item C"});
dp.addItem({label:"Item D"});
dp.addItem({label:"Item E"});
dp.addItem({label:"Item F"});

var myComboBox:ComboBox = new ComboBox();
myComboBox.dataProvider = dp;
myComboBox.rowCount = myComboBox.length / 2;
addChild(myComboBox);
prompt属性 
prompt:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置对 ComboBox 组件的提示。 此提示是一个字符串,当 selectedIndex 为 -1 时,会显示在 ComboBox 的 TextInput 部分中。 它通常是一个类似于“Select one...”的字符串。 如果未设置提示,则 ComboBox 组件将 selectedIndex 属性设置为 0 并在 dataProvider 属性中显示第一个项目。

默认值为 "".


实现
    public function get prompt():String
    public function set prompt(value:String):void

示例
如何使用示例

下例创建一个 ComboBox 组件实例,设置其 prompt 属性并调整组合框的大小以适合提示文本的宽度:

import fl.controls.ComboBox;

var cbStyles:Object = ComboBox.getStyleDefinition();
var bW:Number = cbStyles.buttonWidth as Number

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Please select an option...";
myComboBox.addItem({label:"Option 1"});
myComboBox.addItem({label:"Option 2"});
myComboBox.drawNow();
myComboBox.width = myComboBox.textField.textWidth + 35;
myComboBox.dropdownWidth = myComboBox.width - bW;
myComboBox.move(10, 10);
addChild(myComboBox);

下例创建一个 ComboBox 组件实例,并根据其数据提供者中的项目数设置其 prompt 属性:

import fl.controls.ComboBox;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({label:"Getting Started"});
dp.addItem({label:"New Features"});
dp.addItem({label:"ActionScript"});
dp.addItem({label:"Components"});
dp.sortOn("label", Array.CASEINSENSITIVE);

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Topics (" + dp.length + ")";
myComboBox.dataProvider = dp;
myComboBox.width = 150;
myComboBox.move(10, 10);
addChild(myComboBox);
restrict属性 
restrict:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置用户可以在文本字段中输入的字符。 如果 restrict 属性的值为一串字符,则只能在文本字段中输入该字符串中的字符。 字符串的读取顺序为从左到右。 如果 restrict 属性的值为 null,则可以输入任何字符。 如果 restrict 属性的值为空字符串 (""),则不能输入任何字符。 可以使用连字符 (-) 指定一个范围。 它只限制用户交互;脚本可将任何字符放入文本字段中。

默认值为 null.


实现
    public function get restrict():String
    public function set restrict(value:String):void

另请参见


示例
如何使用示例

下例创建一个可编辑 ComboBox 组件,该组件只允许使用 restrict 属性输入十六进制颜色:

import fl.controls.ComboBox;
import fl.data.DataProvider;
import fl.events.ComponentEvent;

var dp:DataProvider = new DataProvider();

var myComboBox:ComboBox = new ComboBox();
myComboBox.dataProvider = dp;
myComboBox.editable = true;
myComboBox.restrict = "0-9A-F";
myComboBox.textField.maxChars = 6;
myComboBox.addEventListener(ComponentEvent.ENTER, enterHandler);
myComboBox.move(10, 10);
addChild(myComboBox);

function enterHandler(event:ComponentEvent):void {
    var colorStr:String = ComboBox(event.currentTarget).text;
    var colorNum:uint = uint("0x" + colorStr);
    dp.addItem({label:colorStr, value:colorNum});
    dp.sortOn("value", Array.NUMERIC);
    event.currentTarget.text = "";
}
rowCount属性 
rowCount:uint  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置没有滚动条的下拉列表中可显示的最大行数。 如果下拉列表中的项数超过该值,则会调整列表的大小,并在必要时显示滚动条。 如果下拉列表中的项数小于该值,则会调整下拉列表的大小以适应其所包含的项数。

此行为与 List 组件的行为不同,List 组件会始终显示由其 rowCount 属性指定的行数,即使其中出现空白也是如此。

默认值为 5.


实现
    public function get rowCount():uint
    public function set rowCount(value:uint):void

另请参见


示例
如何使用示例

下例使用 Slider 组件设置 ComboBox 组件的 rowCount 属性:

import fl.controls.ComboBox;
import fl.controls.Slider;
import fl.events.SliderEvent;

var numItems:uint = 8;

var mySlider:Slider = new Slider();
mySlider.tickInterval = 1;
mySlider.snapInterval = 1;
mySlider.minimum = 1;
mySlider.maximum = numItems;
mySlider.liveDragging = true;
mySlider.move(10, 10);
mySlider.addEventListener(SliderEvent.CHANGE, changeHandler);
addChild(mySlider);

var myComboBox:ComboBox = new ComboBox();
myComboBox.move(10, 30);
addChild(myComboBox);

var i:uint;
for (i = 0; i < numItems; i++) {
    myComboBox.addItem({label:"Item " + i});
}

function changeHandler(event:SliderEvent):void {
    myComboBox.rowCount = event.value;
}
selectedIndex属性 
selectedIndex:int  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置单选列表中的选定项目的索引。 单选列表是一次只能从中选择一个项目的列表。

值为 -1 指示未选择任何项目;如果选择了多项,则该值等于所选的一组项目中最后一个选定项目的索引。

使用 ActionScript 设置此属性时,位于指定索引处的项目将替换当前选定的内容。 通过编程方式更改选定内容时,不会调度 change 事件对象。

默认值为 0.


实现
    public function get selectedIndex():int
    public function set selectedIndex(value:int):void

另请参见


示例
如何使用示例

下例使用 Slider 组件设置 ComboBox 组件实例的 selectedIndex 属性:

import fl.controls.ComboBox;
import fl.controls.Slider;
import fl.data.DataProvider;
import fl.events.SliderEvent;

var items:XML = <items>
        <item label="Item 1" />
        <item label="Item 2" />
        <item label="Item 3" />
        <item label="Item 4" />
    </items>;

var dp:DataProvider = new DataProvider(items);

var mySlider:Slider = new Slider();
mySlider.liveDragging = true;
mySlider.tickInterval = 1;
mySlider.snapInterval = 1;
mySlider.minimum = 0;
mySlider.maximum = dp.length - 1;
mySlider.width = 100;
mySlider.move(10, 10);
mySlider.addEventListener(SliderEvent.CHANGE, changeHandler);
addChild(mySlider);

var myComboBox:ComboBox = new ComboBox();
myComboBox.dataProvider = dp;
myComboBox.move(10, 30);
addChild(myComboBox);

function changeHandler(event:SliderEvent):void {
    myComboBox.selectedIndex = event.value;
}

下例创建一个 ComboBox 组件,并将其 selectedIndex 属性值显示在舞台上的标签中:

import fl.controls.ComboBox;
import fl.controls.Label;

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Please select an item...";
myComboBox.addItem({label:"Item 1"});
myComboBox.addItem({label:"Item 2"});
myComboBox.addItem({label:"Item 3"});
myComboBox.addItem({label:"Item 4"});
myComboBox.width = 150;
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.CHANGE, changeHandler);
addChild(myComboBox);

var myLabel:Label = new Label();
myLabel.autoSize = TextFieldAutoSize.LEFT;
myLabel.text = "selectedIndex:" + myComboBox.selectedIndex;
myLabel.move(myComboBox.x + myComboBox.width + 10, myComboBox.y);
addChild(myLabel);

function changeHandler(event:Event):void {
    myLabel.text = "selectedIndex:" + myComboBox.selectedIndex;
}
selectedItem属性 
selectedItem:Object  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置下拉列表中所选项目的值。 如果用户在可编辑 ComboBox 组件的文本框中输入文本,则 selectedItem 属性为 undefined。 只有当用户手动或使用 ActionScript 从下拉框中选择一个项目时,此属性才具有值。 如果 ComboBox 组件不可编辑,则 selectedItem 属性值始终有效。 如果可编辑 ComboBox 组件的下拉列表中不存在任何项目,则此属性值为 null

默认值为 null.


实现
    public function get selectedItem():Object
    public function set selectedItem(value:Object):void

另请参见


示例
如何使用示例

下例使用 Button 组件将 ComboBox 中的项目复制到 List 中:

import fl.controls.Button;
import fl.controls.ComboBox;
import fl.controls.List;

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Select an item";
myComboBox.addItem({label:"Item A"});
myComboBox.addItem({label:"Item B"});
myComboBox.addItem({label:"Item C"});
myComboBox.move(10, 10);
addChild(myComboBox);

var myButton:Button = new Button();
myButton.label = "Copy";
myButton.move(myComboBox.x + myComboBox.width + 10, myComboBox.y);
myButton.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(myButton);

var myList:List = new List();
myList.rowCount = myList.length;
myList.selectable = false;
myList.move(myComboBox.x, myComboBox.y + myComboBox.height + 10);
addChild(myList);

function clickHandler(event:MouseEvent):void {
    if (myComboBox.selectedIndex > -1) {
        myList.addItem(myComboBox.selectedItem);
        myList.rowCount = myList.length;
    }
}

下例使用两个 Label 组件显示 ComboBox 中当前所选的项目:

import fl.controls.ComboBox;
import fl.controls.Label;

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Select a user:";
myComboBox.addItem({firstName:"Jane", lastName:"Doe"}); 
myComboBox.addItem({firstName:"Bill", lastName:"Smith"});
myComboBox.addItem({firstName:"Tim", lastName:"Jones"});
myComboBox.labelFunction = nameLabelFunction;
myComboBox.width = 120;
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.CHANGE, changeHandler);
addChild(myComboBox);

var firstNameLabel:Label = new Label();
firstNameLabel.text = "";
firstNameLabel.autoSize = TextFieldAutoSize.LEFT;
firstNameLabel.move(myComboBox.x, myComboBox.y + myComboBox.height);
addChild(firstNameLabel);

var lastNameLabel:Label = new Label();
lastNameLabel.text = "";
lastNameLabel.autoSize = TextFieldAutoSize.LEFT;
lastNameLabel.move(firstNameLabel.x, firstNameLabel.y + firstNameLabel.height);
addChild(lastNameLabel);

function changeHandler(event:Event):void {
    var cb:ComboBox = event.currentTarget as ComboBox;
    var item:Object = cb.selectedItem;
    if (cb.selectedIndex > -1) {
        firstNameLabel.text = item.firstName;
        lastNameLabel.text = item.lastName;
    }
}

function nameLabelFunction(item:Object):String {
    return item.lastName + ", " + item.firstName;
}
selectedLabel属性 
selectedLabel:String  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取显示在 ComboBox 组件的 TextInput 部分中的字符串。 该值可通过使用 labelFieldlabelFunction 属性由数据计算得出。


实现
    public function get selectedLabel():String

另请参见


示例
如何使用示例

下例使用 Label 组件显示 ComboBox 的 selectedLabel 属性:

import fl.controls.ComboBox;
import fl.controls.Label;

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Select a user:";
myComboBox.addItem({firstName:"Jane", lastName:"Doe"}); 
myComboBox.addItem({firstName:"Bill", lastName:"Smith"});
myComboBox.addItem({firstName:"Tim", lastName:"Jones"});
myComboBox.labelFunction = nameLabelFunction;
myComboBox.width = 120;
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.CHANGE, changeHandler);
addChild(myComboBox);

var myLabel:Label = new Label();
myLabel.text = "";
myLabel.autoSize = TextFieldAutoSize.LEFT;
myLabel.move(myComboBox.x, myComboBox.y + myComboBox.height);
addChild(myLabel);

function changeHandler(event:Event):void {
    var cb:ComboBox = event.currentTarget as ComboBox;
    myLabel.text = "selectedLabel: " + cb.selectedLabel;
}

function nameLabelFunction(item:Object):String {
    return item.lastName + ", " + item.firstName;
}
text属性 
text:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取或设置可编辑 ComboBox 组件中文本框所包含的文本。 对于不可编辑的 ComboBox 组件,该值为只读。

默认值为 "".


实现
    public function get text():String
    public function set text(value:String):void

示例
如何使用示例

下例创建一个可编辑 ComboBox,它显示在 TextArea 组件实例中输入的文本:

import fl.controls.ComboBox;
import fl.controls.TextArea;
import fl.events.ComponentEvent;

var myComboBox:ComboBox = new ComboBox();
myComboBox.editable = true;
myComboBox.addEventListener(TextEvent.TEXT_INPUT, textInputHandler);
myComboBox.addEventListener(ComponentEvent.ENTER, enterHandler);
myComboBox.width = 300;
myComboBox.move(10, 10);
addChild(myComboBox);

var myTextArea:TextArea = new TextArea();
myTextArea.wordWrap = false;
myTextArea.setSize(300, 200);
myTextArea.move(myComboBox.x, myComboBox.y + myComboBox.height + 10);
addChild(myTextArea)

function textInputHandler(event:TextEvent):void {
    myTextArea.appendText(event.type + ":\n");
    myTextArea.appendText("\t" + event.currentTarget.text + "\n");
    myTextArea.appendText("\t" + event.text + "\n");
    myTextArea.appendText("\n");
    
    autoScroll(myTextArea);
}

function enterHandler(event:ComponentEvent):void {
    myTextArea.appendText(event.type + ":\n");
    myTextArea.appendText("\t" + event.currentTarget.text + "\n");
    myTextArea.appendText("\n");
    autoScroll(myTextArea);
}

function autoScroll(ta:TextArea):void {
    ta.verticalScrollPosition = ta.maxVerticalScrollPosition;
}
textField属性 
textField:TextInput  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取对 ComboBox 组件所包含的 TextInput 组件的引用。 使用此属性访问并操作基础 TextInput 组件。 例如,可以使用此属性更改文本框的选定内容或者限制可以在文本框中输入的字符。


实现
    public function get textField():TextInput

示例
如何使用示例

下例创建一个可编辑 ComboBox 组件,该组件只允许输入 8 个字符:

import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.editable = true;
myComboBox.textField.maxChars = 8;
myComboBox.move(10, 10);
addChild(myComboBox);

下例创建一个 ComboBox,并为嵌入文本字段设置文本格式:

import fl.controls.ComboBox;

var comicSansTF:TextFormat = new TextFormat();
comicSansTF.font = "Comic Sans MS";

var myComboBox:ComboBox = new ComboBox();
myComboBox.textField.setStyle("textFormat", comicSansTF);
myComboBox.addItem({label:"Item A"});
myComboBox.addItem({label:"Item B"});
myComboBox.addItem({label:"Item C"});
myComboBox.addItem({label:"Item D"});
myComboBox.move(10, 10);
addChild(myComboBox);

下例创建一个 ComboBox 组件实例,并同时为嵌入文本字段和下拉菜单设置自定义文本格式:

import fl.controls.ComboBox;
import fl.data.DataProvider;

var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Comic Sans MS";
myTextFormat.color = 0xFF0000;

var fontArray:Array = Font.enumerateFonts(true);
fontArray.sortOn("fontName", Array.CASEINSENSITIVE);

var dp:DataProvider = new DataProvider(fontArray);

var myComboBox:ComboBox = new ComboBox();
myComboBox.dataProvider = dp;
myComboBox.dropdown.iconField = null;
myComboBox.labelField = "fontName";
myComboBox.textField.setStyle("textFormat", myTextFormat);
myComboBox.dropdown.setRendererStyle("textFormat", myTextFormat);
myComboBox.width = 200;
myComboBox.move(10, 10);
addChild(myComboBox);
value属性 
value:String  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

获取可编辑 ComboBox 组件中的项目的标签。 对于不可编辑的 ComboBox 组件,此属性获取项目所包含的数据。


实现
    public function get value():String

示例
如何使用示例

下例使用 Label 组件显示可编辑 ComboBox 的 value 属性:

import fl.controls.ComboBox;
import fl.controls.Label;

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Select a user:";
myComboBox.addItem({firstName:"Jane", lastName:"Doe"}); 
myComboBox.addItem({firstName:"Bill", lastName:"Smith"});
myComboBox.addItem({firstName:"Tim", lastName:"Jones"});
myComboBox.labelFunction = nameLabelFunction;
myComboBox.width = 120;
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.CHANGE, changeHandler);
myComboBox.editable = true;
addChild(myComboBox);

var myLabel:Label = new Label();
myLabel.text = "";
myLabel.autoSize = TextFieldAutoSize.LEFT;
myLabel.move(myComboBox.x, myComboBox.y + myComboBox.height);
addChild(myLabel);

function changeHandler(event:Event):void {
    var cb:ComboBox = event.currentTarget as ComboBox;
    myLabel.text = "value: " + cb.value;
}

function nameLabelFunction(item:Object):String {
    var str:String;
    if (item == null) {
        str = myComboBox.value;
    } else {
        str = item.lastName + ", " + item.firstName;
    }
    return str;
}
构造函数详细信息
ComboBox()构造函数
public function ComboBox()

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

创建新的 ComboBox 组件实例。

方法详细信息
addItem()方法
public function addItem(item:Object):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

向项目列表的末尾追加项目。

项目应包含 labeldata 属性;但包含其它属性的项目也可以添加到列表。 默认情况下,项目的 label 属性用于显示行的标签;data 属性用于存储行的数据。

参数

item:Object — 要添加到数据提供者的项目。

另请参见

addItemAt()方法 
public function addItemAt(item:Object, index:uint):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

在指定索引位置处将项目插入列表。 位于指定索引位置处或之后的项目的索引将增加 1。

参数

item:Object — 要添加到列表的项目。
 
index:uint — 要添加项目处的索引。

另请参见

close()方法 
public function close():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

关闭下拉列表。

注意:调用此方法将导致 close 事件被调度。 如果 ComboBox 已关闭,则调用此方法无效。

另请参见


示例
如何使用示例

下例创建一个 ComboBox 组件实例,并使用 open()close() 方法切换下拉菜单的可见性:

import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item 1"});
myComboBox.addItem({label:"Item 2"});
myComboBox.addItem({label:"Item 3"});
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.OPEN, openHandler);
myComboBox.addEventListener(Event.CLOSE, closeHandler);
addChild(myComboBox);

var isOpen:Boolean = false;

var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();

function openHandler(event:Event):void {
    isOpen = true;
}

function closeHandler(event:Event):void {
    isOpen = false;
}

function timerHandler(event:TimerEvent):void {
    if (isOpen) {
        myComboBox.close();
    } else {
        myComboBox.open();
    }
}
getItemAt()方法 
public function getItemAt(index:uint):Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

检索指定索引处的项目。

参数

index:uint — 要检索的项目的索引。

返回
Object — 位于指定索引位置处的对象。

示例
如何使用示例

下例创建一个 ComboBox 组件实例,并使用 for 循环和 getItemAt() 方法将 ComboBox 中的项目复制到 DataGrid 组件中:

import fl.controls.ComboBox;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item 1", price:0.34});
myComboBox.addItem({label:"Item 2", price:13.19});
myComboBox.addItem({label:"item 3", price:2.96});
myComboBox.addItem({label:"Item 4", price:3.49});
myComboBox.addItem({label:"Item 5", price:1.27});
myComboBox.move(10, 10);
addChild(myComboBox);

var indexCol:DataGridColumn = new DataGridColumn("index");
indexCol.headerText = "";
indexCol.sortOptions = Array.NUMERIC;

var labelCol:DataGridColumn = new DataGridColumn("label");
labelCol.sortOptions = Array.CASEINSENSITIVE;

var priceCol:DataGridColumn = new DataGridColumn("price");
priceCol.sortOptions = Array.NUMERIC;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(indexCol);
myDataGrid.addColumn(labelCol);
myDataGrid.addColumn(priceCol);
myDataGrid.move(10, 40);
myDataGrid.rowCount = myComboBox.length;
myDataGrid.width = 180;
addChild(myDataGrid);

var i:uint;
var item:Object;
for (i = 0; i < myComboBox.length; i++) {
    item = myComboBox.getItemAt(i);
    myDataGrid.addItem({index:i, label:item.label, price:item.price});
}
getStyleDefinition()方法 
public static function getStyleDefinition():Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

检索当前组件的默认样式映射。 样式映射包含适合组件的类型,具体取决于组件使用的样式。 例如,disabledTextFormat 样式包含 null 值或 TextFormat 对象。 可以使用这些样式并对当前组件调用 setStyle()。 下面的代码覆盖指定组件上默认的 disabledTextFormat 样式:
componentInstance.setStyle("disabledTextFormat", new TextFormat());

返回
Object — 默认样式对象。

另请参见


示例
如何使用示例

下例为多个组件类创建一个样式浏览器:
import fl.controls.*;
import fl.containers.*;
import fl.controls.listClasses.*;
import fl.controls.dataGridClasses.*;
import fl.controls.progressBarClasses.*;
import fl.core.UIComponent;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem( { label: "BaseScrollPane",    data:BaseScrollPane } );
dp.addItem( { label: "Button",             data:Button } );
dp.addItem( { label: "CellRenderer",    data:CellRenderer } );
dp.addItem( { label: "CheckBox",         data:CheckBox } );
dp.addItem( { label: "ColorPicker",     data:ColorPicker } );
dp.addItem( { label: "ComboBox",         data:ComboBox } );
dp.addItem( { label: "DataGrid",         data:DataGrid } );
dp.addItem( { label: "HeaderRenderer",    data:HeaderRenderer } );
dp.addItem( { label: "ImageCell",        data:ImageCell } );
dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } );
dp.addItem( { label: "Label",             data:Label } );
dp.addItem( { label: "List",             data:List } );
dp.addItem( { label: "NumericStepper",     data:NumericStepper } );
dp.addItem( { label: "ProgressBar",     data:ProgressBar } );
dp.addItem( { label: "RadioButton",     data:RadioButton } );
dp.addItem( { label: "ScrollPane",         data:ScrollPane } );
dp.addItem( { label: "Slider",             data:Slider } );
dp.addItem( { label: "TextArea",         data:TextArea } );
dp.addItem( { label: "TextInput",         data:TextInput } );
dp.addItem( { label: "TileList",         data:TileList } );
dp.addItem( { label: "UILoader",         data:UILoader } );
dp.addItem( { label: "UIComponent",     data:UIComponent } );

var cb:ComboBox = new ComboBox();
cb.move(10,10);
cb.setSize(300,25);
cb.prompt = "Select a component to view its styles";
cb.rowCount = 12;
cb.dataProvider = dp;
cb.addEventListener(Event.CHANGE, showStyleDefinition);
addChild(cb);

var dg:DataGrid = new DataGrid();
dg.setSize(425,300);
dg.move(10,50);
dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ];
addChild(dg);

function showStyleDefinition(e:Event):void {
    var componentClass:Class = e.target.selectedItem.data as Class;
    var styles:Object = componentClass["getStyleDefinition"].call(this);
    trace(styles.toString());
    var styleData:DataProvider = new DataProvider();
    for(var i:* in styles) {
        trace(i + " : " + styles[i]);
        styleData.addItem( { StyleName:i, DefaultValue:styles[i] } );
    }
    styleData.sortOn("StyleName");
    dg.dataProvider = styleData;
}
itemToLabel()方法 
public function itemToLabel(item:Object):String

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

基于 labelFieldlabelFunction 属性检索渲染器将为给定数据对象显示的字符串。

注意:labelField 不在 labelFunction 属性设置为回调函数时使用。

参数

item:Object — 要呈现的对象。

返回
String — 根据数据要显示的字符串。

另请参见

open()方法 
public function open():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

打开下拉列表。

注意:调用此方法将导致 open 事件被调度。 如果 ComboBox 组件已打开,则调用此方法无效。

另请参见

removeAll()方法 
public function removeAll():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

删除列表中的所有项目。

另请参见


示例
如何使用示例

下例通过 removeAll() 方法使用 Button 组件实例从 ComboBox 中删除项目:

import fl.controls.Button;
import fl.controls.ComboBox;
import fl.controls.TextInput;

var greenTF:TextFormat;
var redTF:TextFormat;
var myTextInput:TextInput;
var addButton:Button;
var myComboBox:ComboBox;
var removeButton:Button;

greenTF = new TextFormat();
greenTF.color = 0x006600;

redTF = new TextFormat();
redTF.color = 0xFF0000;

myTextInput = new TextInput();
myTextInput.maxChars = 20;
myTextInput.restrict = "a-zA-Z";
myTextInput.move(10, 10);
addChild(myTextInput);

addButton = new Button();
addButton.label = "(+) Add";
addButton.setStyle("textFormat", greenTF);
addButton.move(120, 10);
addButton.addEventListener(MouseEvent.CLICK, addClickHandler);
addChild(addButton);

myComboBox = new ComboBox();
myComboBox.move(10, 40);
addChild(myComboBox);

removeButton = new Button();
removeButton.label = "(-) Remove All";
removeButton.setStyle("textFormat", redTF);
removeButton.move(120, 40);
removeButton.addEventListener(MouseEvent.CLICK, removeClickHandler);
addChild(removeButton);

function addClickHandler(event:MouseEvent):void {
    if (myTextInput.length > 0) {
        trace("adding item...");
        myComboBox.addItem({label:myTextInput.text});
        myComboBox.sortItemsOn("label", Array.CASEINSENSITIVE);
        myTextInput.text = "";
    }
}

function removeClickHandler(event:MouseEvent):void {
    trace("removing all items...");
    myComboBox.removeAll();
}
removeItem()方法 
public function removeItem(item:Object):Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

从列表中删除指定项目。

参数

item:Object — 要删除的项目。

返回
Object — 被删除的项目。

另请参见


示例
如何使用示例

下例演示如何从列表中删除被单击的项目:
import fl.controls.List;
import fl.events.ListEvent;

var myList:List = new List();
myList.addItem( { label: "Carrot" } );
myList.addItem( { label: "Turnip" } );
myList.addItem( { label: "Tomato" } );
myList.addItem( { label: "Blueberry" } );
myList.addEventListener(ListEvent.ITEM_CLICK,removeSelectedItem);
addChild(myList);

function removeSelectedItem(e:ListEvent):void {
    myList.removeItem(e.item);
}
removeItemAt()方法 
public function removeItemAt(index:uint):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

删除指定索引位置处的项目。 索引大于指定索引的项目的索引位置在数组中提前 1。

这是 List 组件的一个方法,可以从 ComboBox 组件的实例中获得。

参数

index:uint — 要删除的项目的索引。


引发
RangeError — 指定的索引小于 0 或大于等于数据提供者的长度。

另请参见

replaceItemAt()方法 
public function replaceItemAt(item:Object, index:uint):Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

用其它项目替换指定索引位置处的项目。 此方法会修改 List 组件的数据提供者。 如果与其它组件共享数据提供者,则向这些组件提供的数据也会更新。

参数

item:Object — 要替换指定索引位置处的项目的项目。
 
index:uint — 要替换的项目的索引位置。

返回
Object — 被替换的项目。

示例
如何使用示例

下例使用 replaceItemAt() 方法将 ComboBox 中当前所选的项目替换为 TextInput 组件中的值:

import fl.controls.Button;
import fl.controls.ComboBox;
import fl.controls.TextArea;
import fl.controls.TextInput;

var myComboBox:ComboBox = new ComboBox();
myComboBox.prompt = "Select a user...";
myComboBox.addItem({label:"Person 1"});
myComboBox.addItem({label:"Person 2"});
myComboBox.addItem({label:"Person 3"});
myComboBox.addItem({label:"Person 4"});
myComboBox.width = 150;
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.CHANGE, changeHandler);
addChild(myComboBox);

var myTextInput:TextInput = new TextInput();
myTextInput.restrict = "a-zA-Z0-9";
myTextInput.maxChars = 12;
myTextInput.move(10, 40);
addChild(myTextInput)

var myButton:Button = new Button();
myButton.label = "Replace item";
myButton.addEventListener(MouseEvent.CLICK, clickHandler);
myButton.move(120, 40);
addChild(myButton);

var myTextArea:TextArea = new TextArea();
myTextArea.editable = false;
myTextArea.setSize(320, 240);
myTextArea.move(10, 70);
addChild(myTextArea);

function changeHandler(event:Event):void {
    myTextInput.text = myComboBox.selectedLabel;
}

function clickHandler(event:MouseEvent):void {
    var cIndex:int = myComboBox.selectedIndex;
    if (cIndex > -1) {
        var newItem:Object = {label:myTextInput.text};
        var oldItem:Object = myComboBox.replaceItemAt(newItem, cIndex);
        myComboBox.selectedIndex = cIndex;
        myTextArea.appendText("[index:" + cIndex + "] old:'" + oldItem.label +"', new:'" + newItem.label + "'\n");
        myTextArea.verticalScrollPosition = myTextArea.maxVerticalScrollPosition;
    }
}
sortItems()方法 
public function sortItems(... sortArgs):*

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

对当前数据提供者的元素进行排序。 此方法将基于元素的 Unicode 值执行排序。 ASCII 是 Unicode 的一个子集。

参数

... sortArgs — 排序要依照的参数。

返回
* — 返回值取决于是否向此方法传递任何参数。 有关详细信息,请参阅 Array.sort() 方法。 请注意,当 sortArgs 参数设置为 Array.UNIQUESORT 时此方法返回 0。

另请参见


示例
如何使用示例

下例根据 ComboBox 实例中每个项目的标签文本对这些项目进行排序。 要排序的项目将传递给自定义排序函数 upperCaseSort(),该函数会对两个项目的 label 属性进行比较,并根据应显示项目的顺序返回一个布尔值:
import fl.controls.ComboBox;

var cb:ComboBox = new ComboBox();
cb.addItem( { label: "Mercury" } );
cb.addItem( { label: "Venus" } );
cb.addItem( { label: "Earth" } );
cb.addItem( { label: "planet" } );
cb.sortItems(upperCaseSort);
addChild(cb);

function upperCaseSort(a:Object, b:Object):Boolean {
    return a.label.toUpperCase() > b.label.toUpperCase();
}
sortItemsOn()方法 
public function sortItemsOn(field:String, options:Object = null):*

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

以当前数据提供者的一个或多个字段为依据对其元素进行排序。

参数

field:String — 要依据其进行排序的字段。
 
options:Object (default = null) — 用于覆盖默认排序行为的排序参数。 使用按位 OR (|) 运算符分隔两个或更多参数。

返回
* — 返回值取决于是否向此方法传递任何参数。 有关详细信息,请参阅 Array.sortOn() 方法。 请注意,当 sortOption 参数设置为 Array.UNIQUESORT 时此方法返回 0。

另请参见


示例
如何使用示例

下面几个示例基于一个名为 cb 的 ComboBox 实例,该实例包含四个元素,它们分别带有 "Apples""Bananas""cherries""Grapes" 标签:
import fl.controls.ComboBox;

var cb:ComboBox = new ComboBox();
addChild(cb);

// First, populate the ComboBox with the elements.
cb.addItem( { label: "Bananas" } );
cb.addItem( { label: "Apples" } );
cb.addItem( { label: "cherries" } );
cb.addItem( { label: "Grapes" } );

// The following statement sorts using the order parameter set to "ASC", 
// and results in a sort that places "cherries" at the bottom of the list 
// because the sort is case-sensitive.
cb.sortItemsOn("label", "ASC"); 
// resulting order: Apples, Bananas, Grapes, cherries

// The following statement sorts using the order parameter set to "DESC", 
// and results in a sort that places "cherries" at the top of the list 
// because the sort is case-sensitive.
cb.sortItemsOn("label", "DESC");
// resulting order: cherries, Grapes, Bananas, Apples

// The following statement sorts using the optionsFlag parameter set to 
// Array.CASEINSENSITIVE. Note that an ascending sort is the default setting.
cb.sortItemsOn("label", Array.CASEINSENSITIVE);
// resulting order: Apples, Bananas, cherries, Grapes

// The following statement sorts using the optionsFlag parameter set to 
// Array.CASEINSENSITIVE | Array.DESCENDING.
cb.sortItemsOn("label", Array.CASEINSENSITIVE | Array.DESCENDING);
// resulting order: Grapes, cherries, Bananas, Apples

下例创建一个 ComboBox,并使用 sortItemsOn() 方法对项目进行排序:

import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({firstName:"Jane", lastName:"Doe"}); 
myComboBox.addItem({firstName:"Bill", lastName:"Smith"});
myComboBox.addItem({firstName:"Tim", lastName:"Jones"});
myComboBox.sortItemsOn("lastName", Array.CASEINSENSITIVE);
myComboBox.labelFunction = nameLabelFunction;
myComboBox.move(10, 10);
addChild(myComboBox);

function nameLabelFunction(item:Object):String {
    return item.lastName + ", " + item.firstName;
}
事件详细信息
change 事件
事件对象类型: flash.events.Event
Event.type property = flash.events.Event.CHANGE

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户更改 ComboBox 组件中的选定内容时调度,或者如果 ComboBox 组件可编辑,每当用户在文本字段中键击时调度。

定义 change 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblestrue
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target已修改其值的对象。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
close 事件  
事件对象类型: flash.events.Event
Event.type property = flash.events.Event.CLOSE

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当因任何原因而取消下拉列表时调度。

定义 close 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target已关闭其连接的对象。

示例
如何使用示例

下例创建一个 ComboBox 组件实例,并使用 open()close() 方法切换下拉菜单的可见性:

import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item 1"});
myComboBox.addItem({label:"Item 2"});
myComboBox.addItem({label:"Item 3"});
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.OPEN, openHandler);
myComboBox.addEventListener(Event.CLOSE, closeHandler);
addChild(myComboBox);

var isOpen:Boolean = false;

var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();

function openHandler(event:Event):void {
    isOpen = true;
}

function closeHandler(event:Event):void {
    isOpen = false;
}

function timerHandler(event:TimerEvent):void {
    if (isOpen) {
        myComboBox.close();
    } else {
        myComboBox.open();
    }
}

另请参见

enter 事件  
事件对象类型: fl.events.ComponentEvent
ComponentEvent.type property = fl.events.ComponentEvent.ENTER

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

在以下情况下调度:editable 属性设置为 true,并且用户在可编辑文本字段中编辑时按下 Enter。

定义 enter 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。
itemRollOut 事件  
事件对象类型: fl.events.ListEvent
ListEvent.type property = fl.events.ListEvent.ITEM_ROLL_OUT

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户将指针滑离组件中的项目时调度。 定义 itemRollOut 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndex包含渲染器的列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
index包含渲染器的 DataProvider 中从零开始的索引。
item对属于渲染器的数据的引用。
rowIndex包含渲染器的行的从零开始的索引。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

另请参见

itemRollOver 事件  
事件对象类型: fl.events.ListEvent
ListEvent.type property = fl.events.ListEvent.ITEM_ROLL_OVER

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户将指针滑过组件中的项目时调度。 定义 itemRollOver 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
columnIndex包含渲染器的列的从零开始的索引。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
index包含渲染器的 DataProvider 中从零开始的索引。
item对属于渲染器的数据的引用。
rowIndex包含渲染器的行的从零开始的索引。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例

下例创建一个 ComboBox 组件,当用户滑过该组件实例时将其打开:

import fl.controls.ComboBox;
import fl.controls.TextArea;
import fl.events.ListEvent;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item 1"});
myComboBox.addItem({label:"Item 2"});
myComboBox.addItem({label:"Item 3"});
myComboBox.move(10, 10);
myComboBox.addEventListener(Event.OPEN, openHandler);
myComboBox.addEventListener(Event.CLOSE, closeHandler);
myComboBox.addEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myComboBox.addEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOutHandler);
myComboBox.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
myComboBox.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
myComboBox.dropdown.addEventListener(MouseEvent.ROLL_OVER, dropdownRollOverHandler)
myComboBox.dropdown.addEventListener(MouseEvent.ROLL_OUT, dropdownRollOutHandler);
addChild(myComboBox);

var myTextArea:TextArea = new TextArea();
myTextArea.editable = false;
myTextArea.setSize(320, 240);
myTextArea.move(120, 10);
addChild(myTextArea);

function openHandler(event:Event):void {
    logEvent("ComboBox open");
}

function closeHandler(event:Event):void {
    logEvent("ComboBox close");
}

function itemRollOverHandler(event:ListEvent):void {
    var rowIdx:uint = event.rowIndex as uint;
    logEvent("ComboBox itemRollOver: " + "`" + myComboBox.getItemAt(rowIdx).label + "`");
}

function itemRollOutHandler(event:ListEvent):void {
    var rowIdx:uint = event.rowIndex as uint;
    logEvent("ComboBox itemRollOut: " + "`" + myComboBox.getItemAt(rowIdx).label + "`");
}

function rollOverHandler(event:MouseEvent):void {
    logEvent("ComboBox rollOver");
    myComboBox.open();
}

function rollOutHandler(event:MouseEvent):void {
    logEvent("ComboBox rollOut");
    myComboBox.close();
}

function dropdownRollOverHandler(event:MouseEvent):void {
    logEvent("ComboBox.dropdown rollOver");
    // reopen ComboBox after it gets closed by the ComboBox rollOut event
    myComboBox.open();
}

function dropdownRollOutHandler(event:MouseEvent):void {
    logEvent("ComboBox.dropdown rollOut");
    myComboBox.close();
}

function logEvent(text:String):void {
    myTextArea.appendText(text + "\n");
    myTextArea.verticalScrollPosition = myTextArea.maxVerticalScrollPosition;
}

另请参见

open 事件  
事件对象类型: flash.events.Event
Event.type property = flash.events.Event.OPEN

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户单击下拉按钮以显示下拉列表时调度。 如果 ComboBox 组件不可编辑,当用户单击文本字段时也会调度。

定义 open 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target已打开连接的网络对象。

示例
如何使用示例

下例创建一个 Button 组件,该组件使用 open() 方法打开 ComboBox 组件的下拉列表。 该下拉菜单将在 1 秒后关闭,除非用户将鼠标滑过 ComboBox 或其下拉菜单:

import fl.controls.Button;
import fl.controls.ComboBox;

var myComboBox:ComboBox = new ComboBox();
myComboBox.addItem({label:"Item 1"});
myComboBox.addItem({label:"Item 2"});
myComboBox.addItem({label:"Item 3"});
myComboBox.move(10, 10);
myComboBox.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
myComboBox.dropdown.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
myComboBox.dropdown.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
addChild(myComboBox);

var myButton:Button = new Button();
myButton.emphasized = true;
myButton.label = "open ComboBox";
myButton.move(120, 10);
myButton.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(myButton);

var closeTimer:Timer = new Timer(1000, 1);
closeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler);

function clickHandler(event:MouseEvent):void {
    myComboBox.open();
    closeTimer.reset();
    closeTimer.start();
}

function timerCompleteHandler(event:TimerEvent):void {
    myComboBox.close();
}

function rollOverHandler(event:MouseEvent):void {
    closeTimer.stop();
}

function rollOutHandler(event:MouseEvent):void {
    myComboBox.close();
}

另请参见

scroll 事件  
事件对象类型: fl.events.ScrollEvent
ScrollEvent.type property = fl.events.ScrollEvent.SCROLL

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

当用户滚动 ComboBox 组件的下拉列表时调度。

定义 scroll 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理事件对象的对象。
delta1;一个指示完成了多少滚动量的值。
directionvertical;ScrollBar 的方向。
position0;Scrollbar 滑块移动后的位置。
target调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。
示例 如何使用示例

此示例演示了如何侦听 ComboBox 实例的事件。

若要运行该示例,请按照下列步骤操作:

  1. 将 ComboBox 组件拖到舞台上,并将其命名为 cb
  2. 将该代码作为 ComboBoxExample.as 另存到 FLA 文件所在的同一目录中。
  3. 将 FLA 文件中的 Document 类设置为 ComboBoxExample。
package 
{
    import fl.controls.ComboBox;
    import flash.display.Sprite
    import flash.events.Event;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    
    public class ComboBoxExample extends Sprite
    {
        private var tf:TextField;
        
        public function ComboBoxExample() {
            setupComboBox();
            setupTextField();
        }

        private function setupTextField():void {
            tf = new TextField();
            tf.x = 230;
            tf.y = 15;
            tf.autoSize = TextFieldAutoSize.LEFT;
            addChild(tf);
        }

        private function setupComboBox():void {
            cb.setSize(200, 22);
            cb.prompt = "Select a Credit Card";
            cb.addItem( { label: "MasterCard", data:1 } );
            cb.addItem( { label: "Visa", data:2 } );
            cb.addItem( { label: "American Express", data:3 } );
            cb.addEventListener(Event.CHANGE, cardSelected);            
        }

        private function cardSelected(e:Event):void {
            tf.text = "You have selected: "
            tf.appendText(cb.selectedItem.label);
        }
    }
}




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/ComboBox.html