Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






 

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

property MultiSelect: Boolean;

 

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

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

property ExtendedSelect: Boolean;

 

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

property SelCount: Integer;

 

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

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

property Selected[Index: Integer]: Boolean;

 

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

if ListBox1.Selected[5] then ShowMessage(‘Выбран 5 элемент’);

 

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

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

property Columns: Integer;

 

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

property TabWidth: Integer;

 

Например:

 

Listbox1.TabWidth: =20;

for i: =0 to 9 do Listbox1.items.Add('A'+#9+'B'+#9+'C'); //#9 – код табуляции

 

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

property IntegralHeight: Boolean;

 

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

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

свойством:

property BorderStyle: TBorderStyle;

 

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

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

function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;

 

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

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState;

X, Y: Integer);

var Pos: TPoint;

sText: string;

Index: integer;

Begin

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

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

if Index< > -1 then sText: =ListBox1.Items.Strings[Index];

end;

 

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

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

function ItemRect(Item: Integer): TRect;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.