Простой список – TListBox

 

Простой список TListBox представляет собой многострочный элемент управления. По умолчанию одновременный выбор двух и более строк запрещен. Однако этот запрет можно снять, установив в true свойство:

propertyMultiSelect: Boolean;

 

Если многострочный выбор разрешен, то на способ выбора строк оказывает

влияние свойство:

propertyExtendedSelect: Boolean;

 

В состоянии true выбор осуществляется щелчком кнопки мыши при нажатой клавише Ctrl или Shift, в противном случае одновременный выбор нескольких строк производится только мышью. Общее количество выбранных пользователем строк можно узнать из свойства:

propertySelCount: Integer;

 

При запрете на одновременный выбор двух и более строк (MultiSelect = false)

возвращаемое значение всегда равно –1. Проверку факта выделения элемента с порядковым номером Index производит свойство:

propertySelected[Index: Integer]: Boolean;

 

Если элемент выделен, свойство установится в состояние true. Данное свойство доступно только во время выполнения программы.

ifListBox1.Selected[5] thenShowMessage(‘Выбран 5 элемент’);

 

Можно разместить элементы списка в несколько колонок, если отказаться

от нулевого значения в свойстве:

propertyColumns: Integer;

 

Размер отступа табуляции настраивается в свойстве:

propertyTabWidth: Integer;

 

Например:

 

Listbox1.TabWidth:=20;

fori:=0 to9 doListbox1.items.Add('A'+#9+'B'+#9+'C'); //#9 – код табуляции

 

За автоматическую подстройку высоты элемента отвечает свойство:

propertyIntegralHeight: Boolean;

 

По умолчанию оно установлено в false и допускает «обрезание» последнего

элемента списка. Внешний вид границ элемента управления определяется

свойством:

propertyBorderStyle: TBorderStyle;

 

У наследников класса TCustomListBox опубликован метод, позволяющий оп-

ределять индекс элемента списка по его координатам Pos:TPoint в клиентской части списка:

functionItemAtPos(Pos: TPoint; Existing: Boolean): Integer;

 

При отсутствии элемента списка в точке Pos возвращаемое значение определяется параметром Existing: true – результат функции равен –1, false – возвращается индекс последнего. Этот метод обычно работает в содружестве с событиями, реагирующими на манипуляции мышью.

procedureTForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState;

X, Y: Integer);

varPos : TPoint;

sText : string;

Index : integer;

Begin

Pos.x:=X; Pos.y:=Y;

Index:=ListBox1.ItemAtPos(Pos, true);

ifIndex<>-1 thensText:=ListBox1.Items.Strings[Index];

end;

 

Для получения координат прямоугольника, содержащего элемент списка

Item, используйте метод, который может понадобиться в операциях прорисовки:

functionItemRect(Item: Integer): TRect;








Дата добавления: 2016-03-15; просмотров: 428;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.