mx.flashUIMovieClip 在 Adobe Flash Professional 中创建以便在 Flex 中使用的组件是 mx.flash.UIMovieClip 类的子类。mx.core:IDeferredInstantiationUIComponentmx.managers:IToolTipManagerClientmx.core:IStateClientmx.managers:IFocusManagerComponentmx.core:IConstraintClientmx.automation:IAutomationObjectmx.core:IVisualElementmx.core:ILayoutElementmx.core:IFlexModuleflash.display:MovieClip 在 Adobe Flash Professional 中创建以便在 Flex 中使用的组件是 mx.flash.UIMovieClip 类的子类。UIMovieClip 类用于实现其使用方式与普通 Flex 组件一样的某个 Flash 组件的必要接口。因此,UIMovieClip 的子类可以用作 Flex 容器的子项或外观,它可以响应事件、定义视图状态和转换,还可以像所有 Flex 组件一样使用效果。

以下过程描述了在 Flash Professional 中创建 Flex 组件的基本流程:

  1. 安装 Adobe Flash Component Kit for Flex。
  2. 在 FLA 文件中为动态资源创建元件。
  3. 运行“命令”>“生成 Flex 组件”,将元件转换为 UIMovieClip 类的子类,并配置 Flash Professional 发布设置以使用 Flex。
  4. 将 FLA 文件发布为 SWC 文件。
  5. 像使用其他类一样,在 Flex 应用程序中引用元件的类名称。
  6. 编译 Flex 应用程序时,在 library-path 中包括 SWC 文件。

有关详细信息,请参阅随 Flex/Flash 集成工具包提供的文档,网址为 http://www.adobe.com/go/flex3_cs3_swfkit

toolTipStart 用户将鼠标移动到设置了 toolTip 属性的组件上方后,由该组件分派。mx.events.ToolTipEvent.TOOL_TIP_STARTmx.events.ToolTipEvent 用户将鼠标移动到设置了 toolTip 属性的组件上方后,由该组件分派。

ToolTip 事件的顺序为 toolTipStarttoolTipCreatetoolTipShowtoolTipShowntoolTipHidetoolTipEnd

toolTipShown 显示组件的 ToolTip 时由组件分派。mx.events.ToolTipEvent.TOOL_TIP_SHOWNmx.events.ToolTipEvent 显示组件的 ToolTip 时由组件分派。

如果使用 ToolTipManager.showEffect 属性指定了效果,则在停止播放该效果之后分派此事件。

ToolTip 事件的顺序为 toolTipStarttoolTipCreatetoolTipShowtoolTipShowntoolTipHidetoolTipEnd

toolTipShow 要显示组件的 ToolTip 时由组件分派。mx.events.ToolTipEvent.TOOL_TIP_SHOWmx.events.ToolTipEvent 要显示组件的 ToolTip 时由组件分派。

如果使用 ToolTipManager.showEffect 属性指定了效果,则在开始播放该效果之前分派此事件。您可以使用此事件在 ToolTip 出现前对其进行修改。

ToolTip 事件的顺序为 toolTipStarttoolTipCreatetoolTipShowtoolTipShowntoolTipHidetoolTipEnd

toolTipHide 要隐藏组件的 ToolTip 时由组件分派。mx.events.ToolTipEvent.TOOL_TIP_HIDEmx.events.ToolTipEvent 要隐藏组件的 ToolTip 时由组件分派。

如果使用 ToolTipManager.hideEffect 属性指定了效果,则在开始播放该效果之前分派此事件。

ToolTip 事件的顺序为 toolTipStarttoolTipCreatetoolTipShowtoolTipShowntoolTipHidetoolTipEnd

toolTipEnd 已隐藏组件的 ToolTip 并要将其放弃时由组件分派。mx.events.ToolTipEvent.TOOL_TIP_ENDmx.events.ToolTipEvent 已隐藏组件的 ToolTip 并要将其放弃时由组件分派。

如果使用 ToolTipManager.hideEffect 属性指定了效果,则在停止播放该效果后分派此事件。

ToolTip 事件的顺序为 toolTipStarttoolTipCreatetoolTipShowtoolTipShowntoolTipHidetoolTipEnd

toolTipCreate 要创建 ToolTip 时由组件分派。mx.events.ToolTipEvent.TOOL_TIP_CREATEmx.events.ToolTipEvent 要创建 ToolTip 时由组件分派。

如果创建了自己的 IToolTip 对象,并在传递到 toolTipCreate 处理函数的事件对象的 toolTip 属性中置入了对该对象的引用,则 ToolTipManager 将显示您的自定义 ToolTip。否则,ToolTipManager 将创建 ToolTipManager.toolTipClass 的实例以用于显示。

ToolTip 事件的顺序为 toolTipStarttoolTipCreatetoolTipShowtoolTipShowntoolTipHidetoolTipEnd

currentStateChange 视图状态更改后分派。mx.events.StateChangeEvent.CURRENT_STATE_CHANGEmx.events.StateChangeEvent 视图状态更改后分派。 currentStateChanging 在 currentState 属性更改后但视图状态更改前分派。mx.events.StateChangeEvent.CURRENT_STATE_CHANGINGmx.events.StateChangeEventcurrentState 属性更改后但视图状态更改前分派。 dragComplete 在拖动操作完成时(将拖动的数据放到放置目标时或在没有执行放置操作的情况下结束拖放操作时)由拖动启动器(作为要拖动的数据源的组件)分派。mx.events.DragEvent.DRAG_COMPLETEmx.events.DragEvent 在拖动操作完成时(将拖动的数据放到放置目标时或在没有执行放置操作的情况下结束拖放操作时)由拖动启动器(作为要拖动的数据源的组件)分派。

您可以使用此事件执行拖放操作的任意最终清理。例如,将 List 控件项目从一个列表拖动到另一个列表时,如果不再需要此 List 控件项目,则可以将其从源列表中删除。

将数据从一个 Tree 控件拖动到另一个控件时,如果在 Tree 控件 dragComplete 事件的事件处理函数调用 Event.preventDefault(),它将阻止该放置操作。

dragDrop 用户在放置目标上释放鼠标时由放置目标分派。mx.events.DragEvent.DRAG_DROPmx.events.DragEvent 用户在放置目标上释放鼠标时由放置目标分派。

可以使用此事件处理函数将拖动数据添加到放置目标。

将数据从一个 Tree 控件拖动到另一个控件时,如果在 Tree 控件 dragDrop 事件的事件处理函数调用 Event.preventDefault(),它将阻止该放置操作。

dragExit 用户在组件外拖动但没有将数据放置到目标时,由组件分派。mx.events.DragEvent.DRAG_EXITmx.events.DragEvent 用户在组件外拖动但没有将数据放置到目标时,由组件分派。

如果在处理 dragEnterdragOver 事件时修改了放置目标的外观,则可以使用此事件将放置目标还原为正常外观。

dragOver 在拖动操作期间,当用户在鼠标位于组件上方的情况下移动鼠标时,由组件分派。mx.events.DragEvent.DRAG_OVERmx.events.DragEvent 在拖动操作期间,当用户在鼠标位于组件上方的情况下移动鼠标时,由组件分派。

在处理函数中,您可以通过更改放置目标的外观向用户提供可视反馈,即组件可以接受此拖动。例如,您可以围绕放置目标绘制一个边框,或者为放置目标提供焦点。

您应该对此事件进行处理,从而在允许放置之前执行其他逻辑,例如,将数据放置在放置目标中的各不同位置,读取键盘输入以确定拖放操作是拖动还是复制拖放数据,或者根据拖放操作类型提供不同类型的可视反馈。

您还可以通过更改 DragManager.showFeedback() 方法来更改拖动操作的类型。action 属性的默认值为 DragManager.MOVE

mx.managers.DragManager
dragEnter 当用户在拖动操作过程中将鼠标移动到某个组件所处的位置时,由该组件分派。mx.events.DragEvent.DRAG_ENTERmx.events.DragEvent 当用户在拖动操作过程中将鼠标移动到某个组件所处的位置时,由该组件分派。

为使放置目标有效,您必须为此事件定义处理函数。在处理函数中,您可以通过更改放置目标的外观向用户提供可视反馈,即组件可以接受此拖动。例如,您可以围绕放置目标绘制一个边框,或者为放置目标提供焦点。

如果希望接受拖动,您必须调用 DragManager.acceptDragDrop() 方法。如果不调用 acceptDragDrop(),您将无法获得其他任何拖动事件。

action 属性的值始终是 DragManager.MOVE,即使用户执行的是复制操作也不例外。这是因为在控件识别出已按下 Ctrl 键来指示复制之前,即已发生 dragEnter 事件。dragOver 事件的事件对象的 action 属性确实包含指示拖动操作类型的值。

您可以通过调用 DragManager.showFeedback() 方法来更改拖动操作的类型。

mx.managers.DragManager
mouseWheelOutside 当用户使用鼠标滚轮滚动到使用 PopUpManager 打开的某个组件外部时,从该组件分派。mx.events.FlexMouseEvent.MOUSE_WHEEL_OUTSIDEmx.events.FlexMouseEvent 当用户使用鼠标滚轮滚动到使用 PopUpManager 打开的某个组件外部时,从该组件分派。 mouseDownOutside 当用户在使用 PopUpManager 打开的某个组件外部单击时,从该组件分派。mx.events.FlexMouseEvent.MOUSE_DOWN_OUTSIDEmx.events.FlexMouseEvent 当用户在使用 PopUpManager 打开的某个组件外部单击时,从该组件分派。 show 当对象的状态从不可见变为可见时分派。mx.events.FlexEvent.SHOWmx.events.FlexEvent 当对象的状态从不可见变为可见时分派。 resize 在调整组件大小时分派。mx.events.ResizeEvent.RESIZEmx.events.ResizeEvent 在调整组件大小时分派。

您可以通过以下方法调整组件大小:设置 widthheight 属性、调用 setActualSize() 方法、在该组件上或其他组件上设置下列属性之一以使 LayoutManager 需要更改该组件的 widthheight 属性:

  • minWidth
  • minHeight
  • maxWidth
  • maxHeight
  • explicitWidth
  • explicitHeight

在更改该属性之前,不会分派 resize 事件。

remove 使用 removeChild() 或 removeChildAt() 方法将组件作为内容子项从容器中删除时分派。mx.events.FlexEvent.REMOVEmx.events.FlexEvent 使用 removeChild()removeChildAt() 方法将组件作为内容子项从容器中删除时分派。如果已使用 rawChildren.removeChild()rawChildren.removeChildAt() 方法将组件作为非内容子项从容器中删除,则不会分派此事件。 preinitialize 在组件初始化序列开始时分派。mx.events.FlexEvent.PREINITIALIZEmx.events.FlexEvent 在组件初始化序列开始时分派。分派此事件时,组件恰处于原始状态。许多组件(如 Button 控件)可创建内部子组件来实现功能;例如,Button 控件可创建内部 UITextField 组件来呈示其标签文本。当 Flex 分派 preinitialize 事件时,尚未创建组件的子项(包括内部子项)。 move 移动对象后分派。mx.events.MoveEvent.MOVEmx.events.MoveEvent 移动对象后分派。

您可以通过以下方法移动组件:设置 xy 属性、调用 move() 方法,在该组件上或其他组件上设置下列属性以使 LayoutManager 更改该组件的 xy 属性:

  • minWidth
  • minHeight
  • maxWidth
  • maxHeight
  • explicitWidth
  • explicitHeight

调用 move() 方法时,将在此方法返回之前分派 move 事件。在其他所有情形下,在该属性更改之前都不会分派 move 事件。

initialize 当组件完成构建并设置了所有初始化属性后分派。mx.events.FlexEvent.INITIALIZEmx.events.FlexEvent 当组件完成构建并设置了所有初始化属性后分派。 hide 当对象的状态从可见变为不可见时分派。mx.events.FlexEvent.HIDEmx.events.FlexEvent 当对象的状态从可见变为不可见时分派。 creationComplete 当组件完成构建时分派。mx.events.FlexEvent.CREATION_COMPLETEmx.events.FlexEvent 当组件完成构建时分派。对于基于 Flash 的组件,同时还将分派 initialize 事件。 add 使用 addChild() 或 addChildAt() 方法将组件作为内容子项添加到容器时分派。mx.events.FlexEvent.ADDmx.events.FlexEvent 使用 addChild()addChildAt() 方法将组件作为内容子项添加到容器时分派。如果已使用 rawChildren.addChild()rawChildren.addChildAt() 方法将该组件作为非内容子项添加到容器,则不会分派此事件。 UIMovieClip 构造函数。 构造函数。 createAutomationIDPartWithRequiredProperties childproperties createAutomationIDPart child createReferenceOnParentDocument 在 IUIComponent 对象的父项文档对象上创建对此对象的 id 引用。parentDocument此 IUIComponent 对象的父项。 在 IUIComponent 对象的父项文档对象上创建对此对象的 id 引用。此函数可以对一个或多个 repeater 中的象创建多维引用,如 b[2][4]。如果索引为 null,它将创建一个简单的非 Array 引用。 deleteReferenceOnParentDocument 在 IUIComponent 对象的父项文档对象上删除对此对象的 id 引用。parentDocument此 IUIComponent 对象的父项。 在 IUIComponent 对象的父项文档对象上删除对此对象的 id 引用。此函数可以对一个或多个 Repeater 中的对象删除多维引用,如 b[2][4]。如果索引为 null,它将删除简单的非 Array 引用。 drawFocus 当组件获得焦点时,由 FocusManager 调用。isFocused如果为 true,则绘制焦点指示符,否则隐藏它。 当组件获得焦点时,由 FocusManager 调用。组件应该绘制或隐藏表示组件具有焦点的图形。 enterFrameHandler 当 width、height、x 或 y 值更改时,将使用此 enter 帧处理函数。event 当 width、height、x 或 y 值更改时,将使用此 enter 帧处理函数。这就是该更改可以进行延迟的原因,这样同时设置 x 和 y 仅会导致一个 change 事件。 executeBindings 将数据绑定到此 UIComponent 对象。recursefalse以递归方式为此组件的子项执行绑定。 将数据绑定到此 UIComponent 对象。 findFocusCandidates 以递归方式查找所有 tabEnabled=true 的子项,并将它们添加到 focusableObjects 数组。obj 以递归方式查找所有 tabEnabled=true 的子项,并将它们添加到 focusableObjects 数组。 focusInHandler 当焦点进入我们的任一子项时调用。event 当焦点进入我们的任一子项时调用。确保调用了焦点事件处理程序,以便从 Flex 焦点管理器进行控制。 getAutomationChildAt index getAutomationChildren getBoundsXAtSize widthheightpostLayoutTransformtrue getBoundsYAtSize widthheightpostLayoutTransformtrue getConstraintValue constraintName getExplicitOrMeasuredHeight 确定是使用显式高度还是测量高度的一种简便方法 一个 Number,在已定义的情况下是 explicitHeight,在未定义的情况下是 measuredHeight。 确定是使用显式高度还是测量高度的一种简便方法 getExplicitOrMeasuredWidth 确定是使用显式宽度还是测量宽度的一种简便方法 一个 Number,在已定义的情况下是 explicitWidth,在未定义的情况下是 measuredWidth。 确定是使用显式宽度还是测量宽度的一种简便方法 getLayoutBoundsHeight postLayoutTransformtrue getLayoutBoundsWidth postLayoutTransformtrue getLayoutBoundsX postLayoutTransformtrue getLayoutBoundsY postLayoutTransformtrue getLayoutMatrix3D getLayoutMatrix getMaxBoundsHeight postLayoutTransformtrue getMaxBoundsWidth postLayoutTransformtrue getMinBoundsHeight postLayoutTransformtrue getMinBoundsWidth postLayoutTransformtrue getPreferredBoundsHeight postLayoutTransformtrue getPreferredBoundsWidth postLayoutTransformtrue initialize 初始化对象。 初始化对象。 mx.core.UIComponent.initialize()invalidateLayoutDirection invalidateParentSizeAndDisplayList 此对象影响其布局时(includeInLayout 为 true),使父代大小和显示列表失效的 Helper 方法。 此对象影响其布局时(includeInLayout 为 true),使父代大小和显示列表失效的 Helper 方法。 move 将此对象移动到指定的 x 和 y 坐标。x此对象的新 x 位置。 y此对象的新 y 位置。 将此对象移动到指定的 x 和 y 坐标。 notifySizeChanged 通知父项大小已更改。 通知父项大小已更改。 owns 如果 owner 属性链从 child 指向此 UIComponent,则返回 true。如果子项以此 UIComponent 为父项或归其所有,则为 truedisplayObject一个 UIComponent。 如果 owner 属性链从 child 指向此 UIComponent,则返回 trueparentChanged 当在父项中添加或删除 UIComponent 对象时由 Flex 调用。p此 UIComponent 对象的父项。 当在父项中添加或删除 UIComponent 对象时由 Flex 调用。开发人员通常无需调用此方法。 registerEffects 对于每个效果事件,注册 EffectManager 作为其中一个事件侦听器。effects效果名称的字符串 Array。 对于每个效果事件,注册 EffectManager 作为其中一个事件侦听器。 replayAutomatableEvent event resolveAutomationIDPart criteria setActualSize 设置此对象的实际大小。newWidth此对象的新宽度。 newHeight此对象的新高度。 设置此对象的实际大小。

此方法主要用于实现 updateDisplayList() 方法。在此期间,您可以根据其显式大小、相对于父项的(百分比)大小以及度量大小计算此对象的实际大小。然后,通过调用 setActualSize() 将此实际大小应用于对象。

在其他情况下,您应该设置 widthheightpercentWidthpercentHeight 属性,而非调用此方法。

setConstraintValue constraintNamevalue setFocus 当组件获得焦点时,由 FocusManager 调用。 当组件获得焦点时,由 FocusManager 调用。同样,该组件可以将焦点设置给某个内部组件。 setLayoutBoundsPosition xypostLayoutTransformtrue setLayoutBoundsSize widthheightpostLayoutTransformtrue setLayoutMatrix3D valueinvalidateLayout setLayoutMatrix valueinvalidateLayout setVisible 当 visible 属性发生更改时调用。valuevisible 属性的新值。指定 true 可显示组件,指定 false 可隐藏组件。 noEventfalse如果为 true,则不分派事件。如果为 false,则当组件变为可见时分派 show 事件,当组件变为不可见时分派 hide 事件。 visible 属性发生更改时调用。您应设置 visible 属性来显示或隐藏组件,而不是直接调用此方法。 transformAround 用于更新转换的旋转、缩放和平移的一种实用程序方法,同时保留某个特定点,该点是在组件自己的坐标空间中指定的,且在父项的坐标空间中是固定的。transformCenter在组件自己的坐标中用于相对于其父项保持固定的点。 scalenull rotationnull translationnull postLayoutScalenull postLayoutRotationnull postLayoutTranslationnull invalidateLayouttrue 用于更新转换的旋转、缩放和平移的一种实用程序方法,同时保留某个特定点,该点是在组件自己的坐标空间中指定的,且在父项的坐标空间中是固定的。此函数将指定提供的旋转值、缩放值和平移值,然后根据需要更新 x/y/z 属性以保持转换中心固定。 transformPointToParent 一种实用程序方法,用于将以该对象的本地坐标指定的点转换为在该对象父坐标中的相应位置。A Vector3D point that will hold the post-layout result. If null, the parameter is ignored. localPosition将要转换的点,指定为对象的本地坐标。 positionpostLayoutPosition 一种实用程序方法,用于将以该对象的本地坐标指定的点转换为在该对象父坐标中的相应位置。如果 positionpostLayoutPosition 参数为非 null,将对这两个参数设置布局前和布局后结果。 transitionEnterFrameHandler 此 enter 帧处理函数通过转换进行。event 此 enter 帧处理函数通过转换进行。 boundingBoxName 用作边框的对象的名称。boundingBox"boundingBox" 用作边框的对象的名称。

边框是一个对象,供 Flex 用于确定组件大小。实际内容可能大于边框,也可能小于边框,但 Flex 在布置组件时将使用边框大小。此对象是可选的。如果省略了此对象,则使用组件的实际内容大小。

initialized false autoUpdateCurrentState 我们是否应主动观察对 flash 对象的标签的更改。false 我们是否应主动观察对 flash 对象的标签的更改。Flex currentState 属性依赖于此 flash 标签。如果将此属性设置为 true,则对于每个帧,都将查询 flash 对象的标签。如果标签已更改,则这将成为 Flex 对象的新 currentState

注意:因为我们现在正在请求 flash 对象在每个单帧下的当前标签,所以将此属性设置为 true 可能会代价很高。

autoUpdateMeasuredSize 我们是否应主动观察对 flash 对象的大小的更改。false 我们是否应主动观察对 flash 对象的大小的更改。如果将此属性设置为 true,则对于每个帧,都将确定 flash 对象的大小。如果大小已更改,则 flash 对象将相应地缩放以适合其显式边界(或者,如果不存在显式调整大小,则它将调整大小并通知其父代)。

注意:因为我们现在正在请求 flash 对象在每个单帧下的当前大小,所以将此属性设置为 true 可能会代价很高。

automationDelegate 处理自动化相关功能的委托对象。 处理自动化相关功能的委托对象。 automationEnabled automationName automationOwner automationParent automationTabularData automationValue automationVisible baselinePosition 组件第一行文本的基线的 y 坐标。 组件第一行文本的基线的 y 坐标。 baseline 从内容区域顶边到组件基线位置的垂直距离(以像素为单位)。 从内容区域顶边到组件基线位置的垂直距离(以像素为单位)。如果设置了此属性,组件的基线将锚定在其内容区域的顶边;当调整其容器大小时,这两条边始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

bottom 从组件底边到其内容区域底边之间的垂直距离(以像素为单位)。 从组件底边到其内容区域底边之间的垂直距离(以像素为单位)。如果设置了此属性,组件的底边将锚定在其内容区域的底边;当调整其容器大小时,这两条边始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

bounds 未经缩放的内容范围。 未经缩放的内容范围。 cachePolicy 指定此对象的位图缓存策略。UIComponentCachePolicy.AUTO 指定此对象的位图缓存策略。在 MXML 中,可能值为 "on""off""auto"(默认值)。

在 ActionScript 中,可能值为 UIComponentCachePolicy.ONUIComponentCachePolicy.OFFUIComponentCachePolicy.AUTO(默认值)。

  • 如果值为 UIComponentCachePolicy.ON,则表示对象始终作为位图缓存。
  • 如果值为 UIComponentCachePolicy.OFF,则表示对象从不作为位图缓存。
  • 如果值为 UIComponentCachePolicy.AUTO,则表示框架将使用试探法确定此对象是否应作为位图缓存。

currentState 此组件的当前状态。 此组件的当前状态。对于 UIMovieClip,currentState 属性的值是当前的帧标签。 depth descriptor 引用 UIComponentDescriptor(如果有),过去曾通过 createComponentFromDescriptor() 方法使用它来创建此 UIComponent 实例。 引用 UIComponentDescriptor(如果有),过去曾通过 createComponentFromDescriptor() 方法使用它来创建此 UIComponent 实例。如果此 UIComponent 实例并非基于描述符创建,则此属性为 null。 mx.core.UIComponentDescriptordesignLayer document explicitHeight 在组件坐标中显式指定的组件高度(以像素为单位)。 在组件坐标中显式指定的组件高度(以像素为单位)。如果没有显式指定的高度,则值为 NaNmx.core.UIComponent.explicitHeightexplicitMaxHeight 在组件坐标中指定组件最大高度的数字(以像素为单位)。 在组件坐标中指定组件最大高度的数字(以像素为单位)。 mx.core.UIComponent.explicitMaxHeightexplicitMaxWidth 在组件坐标中指定组件最大宽度的数字(以像素为单位)。 在组件坐标中指定组件最大宽度的数字(以像素为单位)。 mx.core.UIComponent.explicitMaxWidthexplicitMinHeight 在组件坐标中指定组件最小高度的数字(以像素为单位)。 在组件坐标中指定组件最小高度的数字(以像素为单位)。 mx.core.UIComponent.explicitMinHeightexplicitMinWidth 在组件坐标中指定组件最小宽度的数字(以像素为单位)。 在组件坐标中指定组件最小宽度的数字(以像素为单位)。 mx.core.UIComponent.explicitMinWidthexplicitWidth 在组件坐标中显式指定的组件宽度(以像素为单位)。 在组件坐标中显式指定的组件宽度(以像素为单位)。如果没有显式指定的宽度,则值为 NaNmx.core.UIComponent.explicitWidthfocusEnabled 一个标志,用于指示组件处于选中状态时是否可以获得焦点。 一个标志,用于指示组件处于选中状态时是否可以获得焦点。

如果组件中的子组件实现了 IFocusManagerComponent 接口,但是您从不希望它获得焦点,作为一种优化,您可以先将 focusEnabled 设置为 false,然后再在子组件上调用 addChild()

这将使 FocusManager 忽略此组件,并且使它不会对组件进行监视以查看 tabFocusEnabledtabChildrenmouseFocusEnabled 属性是否发生更改。这也意味着 addChild() 之后,您无法更改此值,也不能指望 FocusManager 进行监视。

注意:这并不意味着您无法在 setFocus() 方法中以编程方式使此对象获得焦点;它仅通知 FocusManager 在 Tab 和鼠标搜索中忽略此 IFocusManagerComponent 组件。

focusPane 在组件中共享并用作绘图焦点叠加层的单个 Sprite 对象。 在组件中共享并用作绘图焦点叠加层的单个 Sprite 对象。如果组件的父项具有焦点,则这些组件共享此对象;如果该组件实现了 IFocusManagerComponent 接口,则不共享此对象。 mx.core.UIComponent.focusPanehasFocusableChildren true hasLayoutMatrix3D height 此对象的高度(以像素为单位)。 此对象的高度(以像素为单位)。 horizontalCenter 从组件内容区域的中心到组件中心的水平距离(以像素为单位)。 从组件内容区域的中心到组件中心的水平距离(以像素为单位)。如果设置了此属性,组件的中心将锚定在其内容区域的中心;当调整其容器大小时,这两个中心在水平方向上始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

id 组件 ID。 组件 ID。此值将作为对象的实例名称,因此不应包含任何空格或特殊字符。应用程序中的每个组件都应具有唯一的 ID。

如果将使用第三方工具对您的应用程序进行测试,请为每个组件赋予一个有意义的 ID。测试工具使用 ID 代表其脚本中的控件,因此使用有意义的名称可使脚本更具可读性。例如,将某个按钮的值设置为 submit_button 而不是 b1 或 button1。

includeInLayout 指定此组件是否包含在父容器的布局中。true 指定此组件是否包含在父容器的布局中。如果为 true,则该对象包含在其父容器的布局中。如果为 false,则由其父容器按布局规则定位该对象,但计算下一子项的位置时将忽略该对象。 is3D isPopUp PopUpManager 将其设置为 true 以指示已弹出该组件。 PopUpManager 将其设置为 true 以指示已弹出该组件。 layoutDirection left 从组件内容区域的左边到组件左边之间的水平距离(以像素为单位)。 从组件内容区域的左边到组件左边之间的水平距离(以像素为单位)。如果设置了此属性,组件的左边将锚定在其内容区域的左边;当调整其容器大小时,这两条边始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

maxHeight 在组件坐标中指定组件最大高度的数字(以像素为单位)。 在组件坐标中指定组件最大高度的数字(以像素为单位)。 mx.core.UIComponent.maxHeightmaxWidth 在组件坐标中指定组件最大宽度的数字(以像素为单位)。 在组件坐标中指定组件最大宽度的数字(以像素为单位)。 mx.core.UIComponent.maxWidthmeasuredHeight 此对象的测量高度。 此对象的测量高度。

通常为图形外观硬编码此属性,因为此数字只是图形中的像素数目。对于代码外观来说,如果希望以特定大小进行绘制,也可以对其进行硬编码。如果此大小可以随属性更改,您可能还希望是 ILayoutManagerClient,以便在适当时调用 measure() 方法,从而能够计算 measuredHeight

measuredMinHeight 组件的默认最小高度(以像素为单位)。 组件的默认最小高度(以像素为单位)。此值由 measure() 方法设置。 measuredMinWidth 组件的默认最小宽度(以像素为单位)。 组件的默认最小宽度(以像素为单位)。此值由 measure() 方法设置。 measuredWidth 此对象的测量宽度。 此对象的测量宽度。

通常为图形外观硬编码此属性,因为此数字只是图形中的像素数目。对于代码外观来说,如果希望以特定大小进行绘制,也可以对其进行硬编码。如果此大小可以随属性更改,您可能还希望是 ILayoutManagerClient,以便在适当时调用 measure() 方法,从而能够计算 measuredHeight

minHeight 在组件坐标中指定组件最小高度的数字(以像素为单位)。 在组件坐标中指定组件最小高度的数字(以像素为单位)。 mx.core.UIComponent.minHeightminWidth 在组件坐标中指定组件最小宽度的数字(以像素为单位)。 在组件坐标中指定组件最小宽度的数字(以像素为单位)。 mx.core.UIComponent.minWidthmoduleFactory 模块工厂用作上下文,用于为组件使用嵌入字体,和查找用于控制样式的样式管理器。 模块工厂用作上下文,用于为组件使用嵌入字体,和查找用于控制样式的样式管理器。 mouseFocusEnabled 一个标志,用于当使用鼠标选中组件时组件是否可以获得焦点。 一个标志,用于当使用鼠标选中组件时组件是否可以获得焦点。如果为 false,焦点将转移到第一个 mouseFocusEnabled 父项。 numAutomationChildren owner 通常为此组件的父容器。 通常为此组件的父容器。但是,如果这是一个弹出组件,则所有者为弹出该组件的组件。例如,ComboBox 控件下拉列表的所有者是 ComboBox 控件本身。此属性并非由 Flex 管理,而由各个组件管理。因此,如果弹出一个组件,则应对此属性进行相应的设置。 parentDocument 包含此组件的文档。 包含此组件的文档。 percentHeight 以组件父项大小百分比的方式指定组件高度的数字。 以组件父项大小百分比的方式指定组件高度的数字。允许的值为从 0 到 100。 percentWidth 以组件父项大小百分比形式指定其宽度的数字。 以组件父项大小百分比形式指定其宽度的数字。允许的值为从 0 到 100。 right 从组件右边到其内容区域右边之间的水平距离(以像素为单位)。 从组件右边到其内容区域右边之间的水平距离(以像素为单位)。如果设置了此属性,组件的右边将锚定在其内容区域的右边;当调整其容器大小时,这两条边始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

rotationX 表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或减去 360 获得该范围内的值。在计算过程中,Flex 的任一 2D 布局都会忽略此属性。 rotationY 表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或减去 360 获得该范围内的值。在计算过程中,Flex 的任一 2D 布局都会忽略此属性。 rotationZ rotation scaleX 用于指定水平缩放系数的数字。1.0 用于指定水平缩放系数的数字。

默认值为 1.0,即不缩放对象。将 scaleX 值设为 2.0 表示对象将放大 2 倍,将 scaleX 值设为 0.5 表示对象将缩小 2 倍。

值 0.0 是无效值。不要将它设置为 0.0,但可以设置为一个很小的值,或者将 visible 属性设置为 false 来隐藏此组件。

scaleY 用于指定垂直缩放系数的数字。1.0 用于指定垂直缩放系数的数字。

默认值为 1.0,即不缩放对象。将 scaleY 值设为 2.0 表示对象将放大 2 倍,将 scaleY 值设为 0.5 表示对象将缩小 2 倍。

值 0.0 是无效值。不要将它设置为 0.0,但可以设置为一个很小的值,或者将 visible 属性设置为 false 来隐藏此组件。

scaleZ 指定沿着 z 轴的缩放因子的数值。1.0 指定沿着 z 轴的缩放因子的数值。

沿着 z 轴缩放不会影响在 z=0 平面中保持平放的典型组件。具有已应用 3D 转换的子项的组件,或具有非零 transformZ 的组件,将受到影响。

默认值为 1.0,即不缩放对象。

在计算过程中,Flex 的任一 2D 布局都会忽略此属性。

showInAutomationHierarchy systemManager 对此组件的 SystemManager 对象的引用。 对此组件的 SystemManager 对象的引用。 tabFocusEnabled 一个标志,指示子对象是否能够获得焦点。这与 Flash Player 使用的 tabEnabled 属性类似。对于处理键盘输入的组件该标志通常为 true,但是控件栏中的一些组件将其设置为 false,因为它们不能像编辑器一样从另外的组件窃取焦点。true 一个标志,指示子对象是否能够获得焦点

这与 Flash Player 使用的 tabEnabled 属性类似。

对于处理键盘输入的组件该标志通常为 true,但是控件栏中的一些组件将其设置为 false,因为它们不能像编辑器一样从另外的组件窃取焦点。

toolTip 要在 ToolTip 中显示的文本。null 要在 ToolTip 中显示的文本。 top 从控件内容区域的顶边到组件顶边之间的垂直距离(以像素为单位)。 从控件内容区域的顶边到组件顶边之间的垂直距离(以像素为单位)。如果设置了此属性,组件的顶边将锚定在其内容区域的顶边;当调整其容器大小时,这两条边始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

transformX transformY transformZ tweeningProperties 由 EffectManager 使用。 由 EffectManager 使用。如果组件不使用 EffectManager 执行 Tween,则返回非空值。 verticalCenter 从组件内容区域的中心到组件中心的垂直距离(以像素为单位)。 从组件内容区域的中心到组件中心的垂直距离(以像素为单位)。如果设置了此属性,组件的中心将锚定在其内容区域的中心;当调整其容器大小时,这两个中心在垂直方向上始终相互独立。

仅当作用于 Canvas 容器中的组件时,或作用于 Panel 或 Application 容器中将 layout 属性设置为 absolute 的组件时,此属性才起作用。

默认值为 undefined,即不进行设置。

visible 显示对象是否可见。 显示对象是否可见。不可见的显示对象已被禁用。例如,如果 InteractiveObject 实例的 visible=false,则无法单击该对象。

当设置为 true 时,此对象将分派 show 事件。当设置为 false 时,此对象将分派 hide 事件。无论在哪种情况下,对象的子项都不会生成 showhide 事件,除非明确地针对该对象编写一个实现来执行此操作。

width 此对象的宽度(以像素为单位)。 此对象的宽度(以像素为单位)。 x 指定组件在其父容器中的水平位置(以像素为单位)的数字。0 指定组件在其父容器中的水平位置(以像素为单位)的数字。

如果组件的父级是布局容器(如 HBox、Grid 或 Form),则直接设置此属性或调用 move() 都不会有任何效果,或只有暂时的效果,因为这些容器的布局计算会将 x 位置设置为此计算结果。但当父级是 Canvas 或其他绝对定位容器时,则必须几乎始终设置 x 属性,因为这些容器的默认值为 0。

y 指定组件在其父容器中的垂直位置(以像素为单位)的数字。0 指定组件在其父容器中的垂直位置(以像素为单位)的数字。

如果组件的父级是布局容器(如 HBox、Grid 或 Form),则直接设置此属性或调用 move() 都不会有任何效果,或只有暂时的效果,因为这些容器的布局计算会将 x 位置设置为此计算结果。但当父级是 Canvas 或其他绝对定位容器时,则必须几乎始终设置 x 属性,因为这些容器的默认值为 0。

z cacheHeuristic 供 Flex 使用,表示建议为对象实施位图缓存。 供 Flex 使用,表示建议为对象实施位图缓存。如果 cachePolicyUIComponentCachePolicy.AUTO,则 cacheHeuristic 用于控制对象的 cacheAsBitmap 属性。 maintainProjectionCenter 如果为 true,则该组件将使其投影矩阵在其边框的中央保持居中。 如果为 true,则该组件将使其投影矩阵在其边框的中央保持居中。如果未在组件上定义投影矩阵,则会自动添加一个。 postLayoutTransformOffsets 定义一组调整,可以使用一种对组件父项的布局不可见的方式将这些调整应用到组件的转换。 定义一组调整,可以使用一种对组件父项的布局不可见的方式将这些调整应用到组件的转换。例如,如果希望某个布局为将旋转 90 度的某个组件进行调整,请设置该组件的 rotation 属性。如果不希望布局为要旋转的组件进行调整,请设置其 postLayoutTransformOffsets.rotationZ 属性。
ContainerMovieClip 在 Adobe Flash Professional 中创建以便在 Flex 中使用的容器组件是 mx.flash.ContainerMovieClip 类的子类。mx.core:IVisualElementContainermx.flash:UIMovieClip 在 Adobe Flash Professional 中创建以便在 Flex 中使用的容器组件是 mx.flash.ContainerMovieClip 类的子类。您可以将 ContainerMovieClip 的子类用作 Flex 容器,它可以保存子项、响应事件、定义视图状态和转换,还可以像所有 Flex 组件一样使用效果。

一个 Flash 容器只能具有一个 Flex IUIComponent 子项。但是,这个子项可以是允许添加其它子项的 Flex 容器。

如果 Flash 容器要修改其中包含的 Flex 组件的可视特征(如更改 alpha 属性),您必须嵌入 Flex 组件所用的字体。对 Flex 组件应用 Dissolve、Fade 和 Rotate 效果时,也需要同样的要求。

以下过程描述了在 Flash Professional 中创建 Flex 组件的基本流程:

  1. 安装 Adobe Flash 工作流程集成工具包。
  2. 在 FLA 文件中为动态资源创建元件。
  3. 运行“命令”>“生成 Flex 容器”,将元件转换为 ContainerMovieClip 类的子类,配置 Flash Professional 发布设置以使用 Flex,并向库中添加名为 FlexContentHolder 的新元件。此元件定义容器的内容区域,您可以在此区域中放置 Flex 子组件。
  4. 将 FLA 文件发布为 SWC 文件。
  5. 像使用其他类一样,在 Flex 应用程序中引用元件的类名称。
  6. 编译 Flex 应用程序时,在 library-path 中包括 SWC 文件。

有关详细信息,请参阅随 Flex/Flash 集成工具包提供的文档,网址为 http://www.adobe.com/go/flex3_cs3_swfkit

ContainerMovieClip 构造函数 构造函数 addElementAt elementindex addElement element getElementAt 如果存在视域,且传入的索引为 0,则返回该视域。如果在子列表中不存在该索引位置。 RangeErrorRangeError位于指定索引位置的元素。 index要检索的元素的索引。 如果存在视域,且传入的索引为 0,则返回该视域。否则将引发 RangeError。 getElementIndex 如果传入的元素是视域,则返回 0。如果元素不是此对象的子项。 ArgumentErrorArgumentError要标识的元素的索引位置。 element要标识的元素。 如果传入的元素是视域,则返回 0。否则将引发 ArgumentError。 removeAllElements removeElementAt index removeElement element setElementIndex elementindex swapElementsAt index1index2 swapElements element1element2 content 要在此容器内部显示的 Flex 内容。 要在此容器内部显示的 Flex 内容。

通常,要在 ActionScript 中向容器添加子项,需要使用 Container.addChild()Container.addChildAt() 方法。但是,要向 Flash 容器的 ContainerMovieClip.content 属性添加子项,则不使用 addChild()addChildAt() 方法,而是直接将子项分配给内容属性。

以下示例将向 ContainerMovieClip.content 属性分配一个容器。

      <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
         xmlns:myComps="~~">
         
         <mx:Script>
             <![CDATA[
                 import mx.containers.HBox;
                 import mx.controls.Image;
     
                 private function init():void {            
                     // Define the Image control.
                     var image1:Image = new Image();
                     image1.source = "../assets/logowithtext.jpg";
                     image1.percentWidth = 80;
                     image1.percentHeight = 80;
     
                     // Define the HBox container.
                     var hb1:HBox = new HBox();
                     hb1.percentWidth = 100;
                     hb1.percentHeight = 100;
                     hb1.setStyle('borderStyle', 'solid');
                     hb1.addChild(image1);
     
                     // Assign the HBox container to the 
                     // ContainerMovieClip.content property..
                     pFrame.content = hb1;
                 }
             ]]>
         </mx:Script>    
     
         <myComps:MyPictureFrameContainer id="pFrame" 
             initialize="init();"/>
     </mx:Application>
numElements 如果存在视域,则返回 1;否则,返回 0。 如果存在视域,则返回 1;否则,返回 0。 scaleContentWhenResized 由于调整容器大小而导致该容器的缩放是否会影响 flex 内容的缩放。false 由于调整容器大小而导致该容器的缩放是否会影响 flex 内容的缩放。

调整 Flash 组件的大小后,它们会放大或缩小为新的大小。但是,这也意味着它们的子项也会相应地进行缩放。如果将此标志设置为 false,则在调整容器的大小后,会对其子项进行反向缩放。

注意:如果容器是直接缩放的(通过 scaleX 或 scaleY),则内容也会相应地缩放。此操作仅会影响通过调整大小对容器进行的缩放。