Такой выпадающий список знаком пользователям со времен Windows 95 (например, список всех элементов оболочки Shell: папки My Computer, My Documents и т. п.) Соответствующий элемент управления появился в библиотеке ComCtl32 несколько позже, а в компонент он превратился только в Delphi 7.
Что отличает этот "продвинутый" выпадающий список от обычного TCоmbоВох? С функциональной точки зрения основных отличий два: возможность добавлять картинки к элементам и выравнивать последние с разным отступом, имитируя иерархию.
Реализовано это следующим образом.
У компонента TComboBoxEx, помимо свойства
property ItemsEx: TComboExItems;
которое представляет собой коллекцию элементов типа TComboExitem. Щелкнув на этом свойстве в Инспекторе объектов, увидим типичный редактор коллекций, где каждый элемент обладает такими опубликованными свойствами:
Дополнительные опции в расширенном выпадающем списке задаются свойством styleEx. Это — множество из четырех флагов, установка которых сводится к разрешению или запрету перечисленных выше новых свойств.