getTextField()
和
numLines
属性.
示例:
代码:
<?
xml version="1.0" encoding="utf-8"
?>
<!-- http://blog.flexexamples.com/2008/05/08/determining-the-number-of-lines-in-a-textarea-control-in-flex/ -->
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml"
layout ="vertical"
verticalAlign ="middle"
backgroundColor ="white" >
< mx:Script >
<![CDATA[
import mx.utils.StringUtil;
private function textArea_change(evt:Event):void {
callLater(updateStats, [evt]);
}
private function updateStats(evt:Event):void {
var nLines:uint = textArea.mx_internal::getTextField().numLines;
var nChars:uint = textArea.length;
var str:String = "{0} characters; {1} lines";
panel.status = StringUtil.substitute(str,
nChars,
nLines);
}
]]>
</ mx:Script >
< mx:String id ="str" source ="lorem.txt" />
< mx:ApplicationControlBar dock ="true" >
< mx:Form styleName ="plain" >
< mx:FormItem label ="width (%):" >
< mx:HSlider id ="slider"
minimum ="50"
maximum ="100"
value ="100"
liveDragging ="true"
snapInterval ="1"
tickInterval ="10" />
</ mx:FormItem >
</ mx:Form >
</ mx:ApplicationControlBar >
< mx:Panel id ="panel"
percentWidth =" {slider.value} "
height ="100%" >
< mx:TextArea id ="textArea"
htmlText =" {str} "
condenseWhite ="true"
width ="100%"
height ="100%"
change ="textArea_change(event);"
resize ="textArea_change(event);" />
</ mx:Panel >
</ mx:Application >
<!-- http://blog.flexexamples.com/2008/05/08/determining-the-number-of-lines-in-a-textarea-control-in-flex/ -->
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml"
layout ="vertical"
verticalAlign ="middle"
backgroundColor ="white" >
< mx:Script >
<![CDATA[
import mx.utils.StringUtil;
private function textArea_change(evt:Event):void {
callLater(updateStats, [evt]);
}
private function updateStats(evt:Event):void {
var nLines:uint = textArea.mx_internal::getTextField().numLines;
var nChars:uint = textArea.length;
var str:String = "{0} characters; {1} lines";
panel.status = StringUtil.substitute(str,
nChars,
nLines);
}
]]>
</ mx:Script >
< mx:String id ="str" source ="lorem.txt" />
< mx:ApplicationControlBar dock ="true" >
< mx:Form styleName ="plain" >
< mx:FormItem label ="width (%):" >
< mx:HSlider id ="slider"
minimum ="50"
maximum ="100"
value ="100"
liveDragging ="true"
snapInterval ="1"
tickInterval ="10" />
</ mx:FormItem >
</ mx:Form >
</ mx:ApplicationControlBar >
< mx:Panel id ="panel"
percentWidth =" {slider.value} "
height ="100%" >
< mx:TextArea id ="textArea"
htmlText =" {str} "
condenseWhite ="true"
width ="100%"
height ="100%"
change ="textArea_change(event);"
resize ="textArea_change(event);" />
</ mx:Panel >
</ mx:Application >