Класс предназначен для управления данными, организованными в список. Например, это может быть список файлов.
| <ClassName> | LISTITEM |
| <Item> | Array, массив элементов. |
| <nTop> | Numeric, координаты области редактирования LISTITEM |
| <nLeft> | Numeric, координаты области редактирования LISTITEM |
| <nBottom> | Numeric, координаты области редактирования LISTITEM |
| <nRight> | Numeric, координаты области редактирования LISTITEM |
| <ColorSpec> | String, цветовая спецификация. |
| "clr1, clr2, clr3, clr4, clr5, clr6, clr7" | |
| clr1 - основной цвет и цвет обрамления | |
| clr2 - цвет текущего элемента, если объект в фокусе | |
| clr3 - цвет текущего элемента, если объект не в фокусе | |
| clr4 - цвет заголовков | |
| clr5 - цвет выделенных элементов | |
| clr6 - цвет текущего выделенного элемента | |
| clr7 - цвет выделенных операцией поиска символов | |
| <ItemCount> | Numeric, количество элементов в <::Item> |
| <Buffer> | Numeric, номер текущего элемента |
| <First> | Numeric, номер первого элемента в области просмотра |
| <ItemWin> | Numeric, количество элементов в области просмотра |
| <Line> | Numeric, текущая координата курсора - строка |
| <Col> | Numeric, текущая координата курсора - колонка |
| <Pos> | Numeric, номер текщей колонки |
| <ColWin> | Numeric, количество колонок в области просмотра |
| <RowWin> | Numeric, количество строк в области просмотра |
| <LenCol> | Array, массив, содержащий ширину колонок |
| <Title> | Array, массив заголовков колонок |
| <Delim> | String, разделитель колонок |
| <HasFocus> | Logical, если TRUE объект находится в фокусе |
| <FindBuffer> | String, буфер поиска |
| ADDITEM | Добавить новый элемент в список. |
| CLEAR | Удалить все элементы из списка. |
| CLEARFINDBUFFER | Очистить буфер поиска. |
| DELITEM | Удалить элемент из списка. |
| DOWN | Перемещение на следующий элемент. |
| DRAWTITLE | Нарисовать заголовки колонок. |
| END | Перемещение на последний элемент массива <::Item> |
| FIND | Поиск подстроки. |
| GETITEM | Получить текущий элемент. |
| GETSELECTED | Возвращает номера выделенных элементов. |
| HANDLEKEY | Обработчик кодов. |
| HOME | Перемещение на первый элемент массива <::Item> |
| INSITEM | Вставить новый элемент в список. |
| KILLFOCUS | Снять фокус. |
| LEFT | Перемещение налево. |
| LISTITEMNEW | Конструктор объекта LISTITEM. |
| PAGEDOWN | Перемещение на следующую страницу массива <::Item> |
| PAGEUP | Перемещение на предыдущую страницу массива <::Item> |
| REFRESH | Перерисовать область просмотра.. |
| RIGHT | Перемещение направо. |
| SELECT | Выделить элемент. |
| SETCOLUMNS | Задать количество колонок. |
| SETFOCUS | Установить фокус. |
| SETITEM | Установить текущий элемент. |
| SETKEY | Установить блок кода, связанный с кодом клавиши. |
| SETTITLE | Задать заголовки колонкам. |
| SETWIDTHCOL | Задать ширину колонок. |
| UP | Перемещение на предыдущий элемент. |
AddItem(<vData>[, <sColor>][, <sSelColor>]) --> 0 || 1
AddItem() добавляет новый элемент в конец списка <::Item>.
Clear() --> NIL
Crear() удаляет из списка все элементы и устанавливает счетчики в нулевое положение.
ClearFindBuffer() --> NIL
CrearFindBuffer() очищает буфер поиска. <::FindBuffer> присваивается пустая строка.
DelItem(<nPos>) --> 0 || 1
DelItem() удаляет элемент с номером <nPos> из списка <::Item>. Содержимое элемента будет потеряно и все элементы начиная с <nPos>+1 будут сдвинуты вверх на 1 позицию. Последний элемент списка будет уничтожен.
Down() --> NIL
Down() перемещает курсор на следующий элемент массива <::Item>.
End() --> NIL
End() перемещает курсор на последний элемент списка <::Item>. Новый текущий элемент будет len(<::Item>).
Find(<sStr>) --> TRUE || FALSE
Find() добавляет <sStr> в конец буфера поиска <::FindBuffer> и ищет <::FindBuffer> в списке <::Item>. Если буфер<::FindBuffer> пуст, поиск начинается с первого элемента <::Item>, иначе, поиск начинается с текущей позиции <::Buffer>.
Строка <::FindBuffer> сравнивается с самыми левыми символами элементов массива <::Item>. Поиск продолжается пока <::FindBuffer> не будет найден или до конца массива. Если строка <::FindBuffer> найдена, поиск останавливается, <::Buffer> принимает значение соответствующее позиции найденного элемента в массиве <::Item> и Find() возвращает TRUE. Если поиск не удачен, <::Buffer> не изменяется, подстрока <sStr> удаляется из строки <::FIndBuffer> и Find() возвращает FALSE.
GetItem() --> <vData>
GetItem() возвращает текущий элемент <::Buffer> списка <::Item>. Если массив <::Item> пуст, метод возвращает NIL.
GetSelected() --> <aSelectedItems>
GetSelected() возвращает массив номеров выделенных элементов.
HandleKey(<nKey>) --> .T. || .F.
HandleKey() выполняет блок кода, ассоциированный с кодом клавиши <nKey>. Список кодов клавиш и связанных с ними блоков кода создается методом SetKey(). По умолчанию в этом списке находятся коды клавиш управления курсором, связанные с соответствующими методами класса LISTITEM.
Home() --> NIL
Home() перемещает курсор на первый элемент списка <::Item>. Новый текущий элемент будет 1.
InsItem(<vData>, <nPos>[, <sColor>][, <sSelColor>][, <lSelected>]) --> 0 || 1
InsItem() вставляет новый элемент <vData> в список <::Item>. Новый элемент будет иметь <nPos> номер в списке. Перед вставлением, размер <::Item> увеличивается на 1 и все элементы начиная с <nPos> сдвигаются вниз.
KillFocus() --> NIL
KillFocus() снимает фокус для объекта класса LISTITEM. Атрибут <::HasFocus> приобретает значение FALSE.
Left() --> NIL
Left() перемещает курсор в левую от текущей колонку. Новый текущий элемент будет <::Buffer> - <::RowWin>.
ListItemNew(<nLrow>,<nLcol>,<nRrow>,<nRcol>[,<nColumns>[,<sDelimiter>[,<sColor>]]]) --> ListItem object
ListItemNew() создает и возвращает объект LISTITEM. Объект этого класса может быть использован для просмотра, редактирования, управления данными, организованными в список.
| <nLrow> | Numeric, координаты области просмотра |
| <nLcol> | Numeric, координаты области просмотра |
| <nRrow> | Numeric, координаты области просмотра |
| <nRcol> | Numeric, координаты области просмотра |
| <nColumns> | Numeric, количество колонок. По умолчанию 1. |
| <sDelimiter> | String, разделитель колонок. По умолчанию <|> |
| <sColor> | String, цветовая спецификация. По умолчанию "7/0, 7/0, 7/0, 7/0, 7/0, 7/0, 7/0" |
| Returns : | Метод возвращает новый объект LISTITEM. |
PageDown() --> NIL
PageDown() перемещает курсор на страницу вниз списка <::Item>. Размер страницы - <::ItemWin>. Текущий элемент будет <::Buffer>+<::ItemWin>.
PageUp() --> NIL
PageUp() перемещает курсор на страницу вверх списка <::Item>. Размер страницы - <::ItemWin>. Текущий элемент будет <::Buffer>-<::ItemWin>.
Refresh() --> NIL
Refresh() перерисовывает обоасть просмотра. Вызывается из методов класса LISTITEM автоматически и не требует прямого вызова.
Right() --> NIL
Right() перемещает курсор в правую от текущей колонку. Новый текущий элемент будет <::Buffer> + <::RowWin>.
Select([<vItem>]) --> TRUE
Select() выделяет цветом один или несколько элементов списка <::Item>
SetColumns(<nCol>) --> TRUE || FALSE
SetColumns() устанавливает количество колонок в списке и задает новую сбалансированную ширину колонок.
SetFocus() --> NIL
SetFocus() устанавливает фокус для объекта класса LISTITEM. Атрибут <::HasFocus> приобретает значение TRUE.
SetItem(<nPos>) --> 0 || 1
SetItem() устанавливает новый текущий элемент с номером <nPos>. Если <nPos> больше, чем элементов в списке, мето возвращает NIL, номер текущего элемента не меняется.
SetKey(<nKey>[, <bData>]) --> bPreviouse
SetKey() устанавливает новый кодовый блок, ассоциированный с кодом <nKey>. Когда при этом замещается существующий блок кода, метод возвращает этот существующий блок, иначе возвращает вновь установленный. Коды клавиш и связанные с ними кодовые блоки обрабатываются методом HandleKey().
Если <bData> NIL, SetKey() возвращает старый кодовый блок и удаляет код клавиши с ассоциированым с ним кодовым блоком.
По умолчанию с клавишами перемещения курсора(K_UP, K_DOWN, K_LEFT, K_RIGHT, K_PGUP, K_PGDN, K_HOME, K_END ....) ассоциированы соответствующие методы Left(), Right(), Up(), Down() и тд.
Блок кода, ассоциированный пользователем с кодом клавиши, получает два параметра: сам объект LISTITEM и код клавиши; и должен вернуть одно из следующих значений:
-1 Пользовательский запрос к LISTITEM потерять фокус
0 Кодовый блок, ассоциированный с кодом <nKey>, был выполнен
1 Неопределенный в словаре код <nKey>, код не был обработан
SetTitle(<aTitle>) --> TRUE || FALSE
SetTitle() устанавливает заголоки для колонок списка. Заголовки устанавливаются для первых len(<aTitle>) колонок, остальные колонки будут иметь пустые заголовки.
| Пред. | Начало | След. |
| Class HISTORY | Уровень выше | Class MEDIT |