Хочу сделать вот такую выпадающю менюшку с иконками
Сами иконки в выпадающем списке отображаются посредством реализации эземпляра класса, расширяющего ComboBox

Код AS3:
package
{
// Компонент ComboBox (Список)
import fl.controls.ComboBox;
import fl.data.DataProvider;
import flash.events.Event;
public class ExComboBox extends ComboBox
{
// Статус слушателей событий
private var eventListener:Boolean = false;
// Номер текущего (выбранного) элемента списка
private var current:String = new String();
// Метод, выполняемый при наступлении события
private var eventFunction:Function;
public function ExComboBox()
{
super();
//this.buttonMode = true;
//this.mouseEnabled = true;
//this.useHandCursor = true;
//this.dropdown.useHandCursor = true;
//this.dropdown.iconField
this.prompt = 'Please select an option...';
this.enabled = this.eventListener;
this.labelField = 'label';
this.dropdown.setStyle("textPadding", 5);
this.dropdown.rowHeight = 28;
this.height = 26;
}
// Устанавливает флаг доступности и слушатель событий ComboBox
override public function set enabled(b:Boolean):void
{
super.enabled = b;
if (this.eventFunction is Function)
{
this.EventListener = b;
}
}
// Устанавливает метод, выполняемый при наступлении события f(s:String):void
// Принимаемый параметр метода f(s) - номер текущего элемента
public function set EventFunction(f:Function):void
{
this.eventFunction = f;
}
// Устанавливает имя атрибута изображения в выпадающем списке
public function set NameIconField(s:String):void
{
if(s.length) this.dropdown.iconField = s;
else this.dropdown.iconField = null;
}
// Устанавливает Список элементов в компоненте ComboBox
public function set DataList(vo:Vector.<Object>):void
{
this.dataProvider = new DataProvider(this.Convert(vo));
}
// Возвращает Номер текущего (выбранного) элемента списка
public function get Current():String
{
return this.current;
}
public function Destroy():void
{
if (this.eventListener) this.EventListener = false;
}
/////////////////////////////////////////////////////////
private function Convert(vo:Vector.<Object>):Array
{
var arr:Array = new Array
var i:int = vo.length;
while (--i > -1)
{
arr.push(vo[i]);
}
return arr;
}
// Подключение или отключение слушателей событий
private function set EventListener(flagEvent:Boolean):void
{
if(this.eventListener != flagEvent)
{
if(this.eventListener = flagEvent)
{
// Подключение слушателей событий
this.AddEventListener();
}
else
{
// Отключение слушателей событий
this.RemoveEventListener();
}
}
}
private function AddEventListener():void
{
this.addEventListener(Event.CHANGE, ChangeHandler);
}
private function RemoveEventListener():void
{
this.removeEventListener(Event.CHANGE, ChangeHandler);
}
private function ChangeHandler(e:Event):void
{
this.current = ComboBox(e.target).selectedItem.data;
if (this.eventFunction is Function) this.eventFunction(this.current);
}
}
}
А вот чтобы иконки отображались в заголовке самого элемента ComboBox не знаю как сделать, и в документации по этому поводу ничего нет. Может кто-нибудь сталкивался с такой задачей, или имеет представление в каком направлении двигаться в данном вопросе?