Компонент ListBox (tlistbox)
Этот компонент является стандартным компонентом в списке Windows, который отображает серию списков, в которых пользователи могут выбирать, соединять, удалять или изменять элементы.
1 Типичное использование компонентов tllistbox
Списки часто используются в приложениях Windows. В блоке списка можно указать несколько элементов в раскатываемом окне для выбора. Например, в IDE Delphi при использовании команды списка компонентов в меню View Delphi перечисляет все компоненты в VCL. Программа в основном использует атрибут элементов для управления различными элементами, такими как использование элементов. Укажите или получите текущую опцию через свойство itemindex.
2 Важные свойства компонентов tlistbox
· Номер блоки списка столбцов · ExtendendEselect Это свойство используется для установки, разрешать ли выбирать несколько элементов одновременно с использованием клавиши Shift и CTRL -ключа · IntegralHeight Высота списка всегда является целочисленным кратным высотой в элементе в СПИСОК ПРИМЕЧАНИЕ · ITEM -gheight Это свойство используется для установки высоты каждого элемента в поле Списки · Itemindex Это свойство используется для установки номера последовательности выбранных элементов в поле Списки · Элементы Все элементы в блоке списка доступны через Свойство элементов · Multilectect позволяет выбирать несколько элементов в одно и то же время · Selcount return Номер выбранных в настоящее время элементов · Выбрано. Список должен отсортировать в алфавитном порядке · Стиль, это свойство используется для установки стиля блока списка. Следующее описывает обычно используемые свойства компонента Tlistbox в программе.
(1) Атрибуты столбцов
Значение по умолчанию этого свойства составляет 0, а в списке отображается в одном столбце. Если это свойство установлено на значение, превышающее 0, в списке поле сначала заполнит столбец. Если он не может быть полностью отображен в одном столбце, он будет отображаться в столбце 2, столбца 3 и т. Д., Но только количество столбцов, установленных на своем свойстве столбцах, отображается на экране больше всего. Если это свойство установлено на 2, на экране будут отображаться только два столбца.
(2) Свойство ExtendedSelect
Это свойство используется для того, чтобы разрешить выбирать несколько элементов одновременно с помощью клавиши Shift и CTRL, при условии, что свойство MultaSelect должно быть установлено в True. Пользователь нажимает и удерживает клавишу Shift.
(3) IntegralHeight Property
Если это свойство установлено на True, а свойство стиля установлено на IsownerDrawfixed, высота списка будет автоматически регулироваться на целое число, кратное из высоты элемента в блоке списка. Если это свойство установлено на false, последний элемент в поле Списки не может быть отображен в полном объеме, потому что высота блока списка не обязательно является точно множеством свойств ItemeHeight.
(4) Атрибут ItemeHeight
Когда свойство стиля установлено на IsOwnerFixed (определенное пользователем), это свойство используется для установки высоты каждого элемента в блоке списка. Если свойство IntegralHeight установлено на True, высота всего списка будет автоматически настроена со значением свойства ItemeHeight. Если свойство стиля установлено на Isstandard или IsownerDrawVariable, свойство ItemeHeight будет бессмысленным.
(5) атрибут itemindex
Это свойство используется для установки номера последовательности выбранного элемента в поле списка. Если свойство MultieLect установлено на TRUE, а пользователь выбирает несколько элементов, это свойство возвращает номер последовательности элемента с фокусом ввода. Код образца программы выглядит следующим образом:
[delphi] Просмотр plaincopyProcedUretform1.formCreate (отправитель: tobject); vari: integer; beginListbox1.multiselect: = false; button.caption = 'movetotop'; fori: = 1to10dolistbox1.items.Add ('item'+inttoStr (i))))) ; end; ProcecureTform1.button1click (отправитель: tobject);
(6) Атрибуты элементов
Все элементы в списке доступны через свойство элементов.
[delphi] Просмотр plaincopyvarf: file; i: integer; beginfori: = 0to (filelistbox1.items.count-1) dobegintryiffilelistbox1.selected [i] thenbeginifnotfileexists (filelistbox1.items.strings [i]) thenbeginmessgedlg ('file:'+filelistbox1 .Items.Strings [i]+'notFound', mterror, [mbok], 0); Продолжение; End; ussysfile (f, filelistbox1.items.strings [i]); сбросить (f, l); listbox1.items. Add (inttoStr (filesize (f));
(7) Multiselect Property
Если это свойство установлено на TRUE, разрешено выбирать несколько элементов одновременно. Пользователи могут удерживать клавиши CTRL или Shift, выбирать элементы с мышью или напрямую перетаскивать с мышью с мышью.
(8) Сортированные свойства
Это свойство используется для установления того, следует ли сортировать элементы в блоке списка в алфавитном порядке. Для отсортированных поля списков элементы, добавленные по вызову add () или insert (), автоматически перемещаются в соответствующее место. Код пример программы выглядит следующим образом:
[delphi] Просмотр plaincopyProcedUretform1.formcreate (отправитель: tobject); Item1 '); listbox1.items.add (' item4 '); end;
(9) Атрибуты стиля
Это свойство используется для установки стиля списка. Он устанавливает следующие 3 выбранных пользователя значения. • LBStandard: каждый элемент представляет собой строку, и каждый элемент имеет одинаковую высоту. • Lbowndrawfixed: элемент не обязательно является строкой, но также может быть изображением. Событие OnDrawItem запускается перед отображением каждого элемента. • LbownerDrawVariable: элемент не обязательно является строкой, он также может быть изображением, а высота элемента может отличаться. Два события запускаются перед отображением каждого элемента.
3 Важные события компонентов Tlistbox
· Ondrawitem Если свойство стиля установлено на LbownerDrawfixed или LbownerDrawVariable, и элементы в списке должны быть перекрашены, это событие будет запускается. , мероприятие будет вызвано
4 Важные способы компонентов Tlistbox
Обычно используемый метод компонента Tlistbox в программах ясно, что является функцией удаления всех параметров в поле.
Как элемент в Listbox отображает разные цвета в соответствии с контентом
1. Измените свойство стиля ListBox1 на LbowndrawVariable2.
Например:
[delphi] Посмотреть PlainCopyProcedUretform1.listbox1drawitem (Control: Twincontrol; Index: Integer; rect: trect; состояние: townerdrawstate); нечетное число beginlistsbox1.canvas.brush.color: = clwindow; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); endelse // color beginlestbox1.canvas, когда индекс Элементы равномерное число .brush.color: = clinaCativeCaptionText; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); end; ifodsesectedInstatethen // Цвета при выбранном beginlestbox1.canvas.brush. .Color: = clhighlight; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); end; end;