上传者: zhu106878723
|
上传时间: 2021-08-09 18:09:06
|
文件大小: 195KB
|
文件类型: SWC
AS3.0 TLFTextField 最新的组件库 以往的有BUG,这个可是最新的哦
package
{
import fl.controls.UIScrollBar;
import fl.text.TLFTextField;
import flash.events.Event;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.edit.IEditManager;
import flashx.textLayout.elements.FlowElement;
import flashx.textLayout.elements.InlineGraphicElement;
import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.events.CompositionCompleteEvent;
import flashx.textLayout.events.StatusChangeEvent;
/**
* 使用 TLFTextField 类创建使用文本布局框架 (TLF) 的高级文本显示功能的文本字段。
* TLFTextField 对象与 TextField 对象类似,但 TLFTextField 对象可以利用 flashx 包中包含的 TLF 类的属性和方法。TLF 提供了大量格式选项和功能。
* @author
*/
public class STLFTextField extends TLFTextField
{
//最大段落数
private var _maxParagraph:uint = 0;
//UI滚动条
private var uiScrollBar:UIScrollBar;
public function STLFTextField()
{
super();
}
private function tlfEventHandle(e:Event):void
{
super.textFlow.flowComposer.updateAllControllers();
if (uiScrollBar) {
uiScrollBar.scrollPosition = uiScrollBar.maxScrollPosition;
uiScrollBar.validateNow();
}
}
/**
* 过滤段落数达到最大值时文本的段落
*/
private function filtrationPar():void
{
if (_maxParagraph == 0) return;
if (textFlow.numChildren > _maxParagraph) {
for (var i:uint = 0; i < textFlow.numChildren - _maxParagraph; i++ ) {
textFlow.removeChildAt(0);
}
}
}
/**
* 在文本中插入图片
* @param src 图片的路径或者库里面的MC实例
* @param width 图片的宽,默认是图片宽度
* @param height 图片的高,默认是图片的高度
*/
public function insertImg(src:Object, width:Object = "auto", height:Object = "auto"):void
{
if(!textFlow.hasEventListener(StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE))
super.textFlow.addEventListener(StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE, tlfEventHandle);
if(super.textFlow.interactionManager is IEditManager)
{
IEditManager(super.textFlow.interactionManager).insertInlineGraphic(