Цитата:
Сообщение от wvxvw
>> а программно убрать выделение или управлять кареткой в эдитейбл поле комбобокса нельзя
Это почему же? - это же обычный TextField. Просто надо поискать, как до него добраться...
|
С пары тыков не получилось, погуглил, ничего толком не нашел, решил спросить тут. Будем копать.
Добавлено через 11 часов 42 минуты
решение найдено

Код AS3:
package classes.common
{
import flash.events.KeyboardEvent;
import mx.collections.ArrayCollection;
import mx.controls.ComboBox;
public class CustomCombobox extends ComboBox
{
private var tmpText: String;
public function CustomCombobox()
{
super();
addEventListener(KeyboardEvent.KEY_UP, function(event: KeyboardEvent):void{
tmpText = event.currentTarget.text;
dataProvider.filterFunction = producerListFilterFunction;
dataProvider.refresh();
text = tmpText;
if(dataProvider.length > 0)
open();
} );
}
private function producerListFilterFunction(item:Object):Boolean{
return !Boolean(String(item.label).toUpperCase().indexOf(text.toUpperCase(), 0));
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (editable){
textInput.selectionBeginIndex = text.length;
textInput.selectionEndIndex = text.length;
}
}
}
}