2009-06-11 23 views
0

フレックスリッチテキストエディタの文字数を に制限する方法はありますか? のテキストエリアで可能なので、そこにあるはずです。私は金持ち テキストエディタに含まれるテキストエリアの を保持して得ることができるのであれば、私は正確にはわからないが、それを私は、これはActionScriptで非常に簡単になると思いますフレックスリッチテキストエディタ - 文字数の制限

答えて

2

を行うことができるだろうか一つが希望それをmxmlで行います。 RichTextEditorには2人の子供がおり、そのうちの1人はTextAreaです。 myRTEは、テキストエディタのインスタンスされた状態で

myRTE.toolBar2.setStyle("backgroundColor", 0xCC6633); 

:ドキュメント(http://livedocs.adobe.com/flex/3/langref/mx/controls/RichTextEditor.html#propertySummary)によると、あなたはそうのようなサブコントロールにアクセスすることができます。だから私の推測は、これがうまくいくようなものになるでしょう:

myRTE.textArea.maxChars = 125; 

125は、制限する文字数です。

+0

mxmlの場合、 RichTextEditor> – adamcodes

0

私はこれに遭遇しました。

textAreaのmaxCharsを設定するとテキスト領域に制限が設けられますが、これはユーザーが入力できる文字数を表しません。

ユーザーが入力中に、マークアップが背後で追加され、文字カウントが大幅に増加します。

<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="10" COLOR="#0B333C" LETTERSPACING="0" KERNING="0">a</FONT></P></TEXTFORMAT>

は私が正しいを取得するための簡単な方法を見ることができなかった:私は文字を入力する場合

は、たとえば、「」のRichTextEditorに、私は、142の文字の数と、こののhtmlTextを取得します私はRichTextEditorを拡張し、maxCharを与えました。 maxchar個> 0ならば、私は「変更」にリスナーを追加し、イベントハンドラでは、このような何かをした:

protected function handleTextChange(event:Event) : void 
    { 
     var htmlCount:int = htmlText.length; 

     // if we're within limits, ensure we reset 
     if (htmlCount < maxChars) 
     { 
      textArea.maxChars = 0; 
      this.errorString = null; 
     } 
     // otherwise, produce an error string and set the component so the user 
     // can't keep typing. 
     else 
     { 
      var textCount:int = textArea.text.length; 
      textArea.maxChars = textCount; 

      var msg:String = "Maximum character count exceeded. " + 
       "You are using " + htmlCount + " of " + maxChars + " characters."; 

      this.errorString = msg; 
     } 
    } 

アイデアが場合にのみ、エラー状態のテキスト領域にmaxCharsのを適用することですので、ユーザーは何も入力することができず、いくつかの文字を消去するよう求められます。エラー状態を解除したら、textArea.maxCharsを0に設定して続行する必要があります。

関連する問題