私の選択肢は直接保護にtextInputを使用することです。この方法では、通常のTextFieldの場合と同様に、GUIビルダまたはコードで「maxChars」プロパティを設定できます。ゼロはmaxCharsの有効な値であり、無制限の文字を示します。 TextInputオブジェクトが存在する前にmaxCharsを設定しないようにするには、.childrenCreated()のオーバーライドが必要です。
package my.controls
{
import mx.controls.ComboBox;
public class EditableComboBox extends ComboBox
{
public function EditableComboBox()
{
super();
}
private var _maxChars:int = 0;
override protected function childrenCreated():void
{
super.childrenCreated();
// Now set the maxChars property on the textInput field.
textInput.maxChars = _maxChars;
}
public function set maxChars(value:int):void
{
_maxChars = value;
if (textInput != null && value >= 0)
textInput.maxChars = value;
}
public function get maxChars():int
{
return textInput.maxChars;
}
}
}
これは私の元々の考えであり、非常に良いアイデアであることが判明しました。以下の完全な解決策... –