Вам необходимо установить Columns
в 0.
Для всех положительных значений VCL отправляет сообщение LB_SETCOLUMNWIDTH
в базовый собственный элемент управления списка, с параметром width, равным ширине клиента списка.делится на количество столбцов.Элементы, которые не помещаются, начнут новый столбец с той же шириной столбца, поэтому горизонтальная полоса прокрутки станет видимой.
Если Columns
равен 0, то есть один столбец, который охватывает всю ширину клиентаПоле со списком и элементы, которые не помещаются, сделают вертикальную полосу прокрутки видимой и скроют горизонтальную полосу прокрутки.
Редактировать:
Похоже, есть подлинный интерес в том, чтопроисходит, когда для свойства Columns
используется отрицательное значение.
Метод TCustomListBox.CreateParams()
устанавливает стиль списка LBS_MULTICOLUMN
в зависимости от отличия свойства Columns
от 0. Для отрицательных значений стильустановлен флаг, но VCL не отправляет сообщение LB_SETCOLUMNWIDTH
, поэтому собственный элемент управления использует ширину столбца по умолчанию. задокументировано :
15, умноженное на среднюю ширину символа для шрифта, используемого списком.
(Искать "TheСтиль LBS_MULTICOLUMN указывает «найти соответствующий фрагмент текста.)