Класс предназначен для управления данными, организованными в список. Например, это может быть список файлов.
<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 |