Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Интерфейс 2 
Строковая таблица MT - MST_RowAction

MST_RowAction
Краткое описание
Универсальный клиентский модуль MTStrTbl для работы со строками таблицы
Параметры
  • Action - AddRow - добавляет строку, InsertRow - вставляет строку, ReplaceRow - заменяет строку, DeleteRow - удаляет строку, IconRowIdx - заменяет иконку в строке на иконку из списка, ColorsRow - устанавливает цвет текста строки и цвет строки, GetIconRowIdx - получает индекс иконки для строки, GetColorsRow - получает индекс цвета текста, цвет текста и цвет строки, UpRow - сдвигает строку вверх, DownRow - сдвигает строку вниз
  • Index - Индекс строки по-умолчанию для режимов DeleteRow, IconRowIdx, ColorsRow, GetIconRowIdx, GetColorsRow, UpRow, DownRow. Для остальных режимов индекс берется из потока
  • MSTControl - Управление элементом MTStrTbl
  • Методы
  • doRowAction - Выполняет различные действия над строками таблицы согласно параметра Action
  • События
  • onChange - Событие происходит всякий раз при изменении списка строк таблицы
  • onResult - Выдаёт результат различных операций над строками в поток
  • Свойства
  • Count - Содержит количество строк в таблице
  • EndIdx - Содержит индекс последней строки в таблице
  • Данные
  • Index - Индекс строки для режимов DeleteRow, IconRowIdx, ColorsRow, GetIconRowIdx, GetColorsRow, UpRow, DownRow. Для остальных режимов индекс берется из потока
  • Аргументы
  • Action AddRow - [SubRow1][SubRow2] ... [SubRowN]
    InsertRow - [IndexRow][SubRow1][SubRow2] ... [SubRowN]
    ReplaceRow - [IndexRow][SubRow1][SubRow2] ... [SubRowN]
    DeleteRow - IndexRow
    IconRowIdx - [IndexRow][IndexIcon]
    ColorsRow - [IndexRow][IndexColorText (0 - TextColor; -1 - OldParametr)][ColorRow (0 - TextBkColor; -1 - OldParametr)]
    GetIconRowIdx - IndexRow
    GetColorsRow - IndexRow
    UpRow - IndexRow
    DownRow - IndexRow

  • onResult GetIconRowIdx - [IndexRow][IconRowIdx]
    GetRowColors - [IndexRow][IndexTextColor][TextColor][TextBackColor]
  • Примеры
    Пример вставки, замены, удаления, изменения цвета и смещения строки с определенным индексом
    
    Add(MainForm,3063237,28,119)
    {
    Width=398
    Height=402
    link(onCreate,1976442:doEnum,[])
    }
    Add(MTStrTbl,15043066,28,77)
    {
    Width=390
    Height=170
    Name="MTStrTbl"
    Columns=#3:Имя|7:Фамилия|8:Отчество|
    ColorItems=0
    CheckBoxes=0
    MultiSelect=0
    }
    Add(StrList,4383086,70,63)
    {
    Strings=#22:Иван;Иванов;Иванович;0|26:Андрей;Андреев;Андреевич;0|
    }
    Add(ArrayEnum,1976442,84,133)
    {
    link(onItem,16356153:doMT,[])
    link(Array,4383086:Array,[])
    }
    Add(MST_RowAction,15395190,182,126)
    {
    MSTControl="MTStrTbl"
    }
    Add(MT_String,16356153,133,126)
    {
    link(onResult,15395190:doRowAction,[])
    }
    Add(PointHint,5981647,231,56)
    {
    Info=#43:Пример вставки строки в определенный индекс|
    Transparent=0
    VAlign=0
    Width=253
    Height=179
    }
    Add(MST_RowAction,8879145,434,189)
    {
    Action=1
    MSTControl="MTStrTbl"
    }
    Add(Label,14685317,350,84)
    {
    Top=175
    Width=88
    Height=17
    Caption="Вставить строку"
    }
    Add(Edit,14198201,350,133)
    {
    Left=165
    Top=175
    Width=75
    Text="Папин"
    }
    Add(Label,1507503,280,84)
    {
    Left=315
    Top=175
    Width=10
    Height=17
    Caption="в"
    }
    Add(Edit,7221313,259,133)
    {
    Left=325
    Top=175
    Width=20
    Text="1"
    }
    Add(Label,16139651,238,84)
    {
    Left=350
    Top=175
    Width=40
    Height=17
    Caption="индекс"
    }
    Add(Edit,4347667,308,133)
    {
    Left=90
    Top=175
    Width=75
    Text="Папа"
    }
    Add(Edit,5289316,392,133)
    {
    Left=240
    Top=175
    Width=75
    Text="Папович"
    }
    Add(Button,15646096,259,189)
    {
    Top=195
    Width=390
    Caption="Вставить"
    link(onClick,6302030:doAdd,[])
    }
    Add(MT_AddData,6302030,301,189)
    {
    Count=5
    link(onAdd,8879145:doRowAction,[])
    link(Data1,7221313:Text,[(307,177)(265,177)])
    link(Data2,4347667:Text,[])
    link(Data3,14198201:Text,[(321,171)(356,171)])
    link(Data4,5289316:Text,[(328,177)(398,177)])
    link(Data5,9086595:Value,[(335,182)(440,182)])
    }
    Add(MST_RowAction,16589432,693,189)
    {
    Action=2
    MSTControl="MTStrTbl"
    }
    Add(Label,6236302,637,84)
    {
    Top=215
    Width=91
    Height=17
    Caption="Заменить строку"
    }
    Add(Edit,12722254,616,133)
    {
    Left=165
    Top=215
    Width=75
    Text="Папин"
    }
    Add(Label,12354997,567,84)
    {
    Left=315
    Top=215
    Width=10
    Height=17
    Caption="в"
    }
    Add(Edit,8837610,525,133)
    {
    Left=325
    Top=215
    Width=20
    Text="2"
    }
    Add(Label,10030329,525,84)
    {
    Left=350
    Top=215
    Width=40
    Height=17
    Caption="индекс"
    }
    Add(Edit,15131224,574,133)
    {
    Left=90
    Top=215
    Width=75
    Text="Папа"
    }
    Add(Edit,2919316,658,133)
    {
    Left=240
    Top=215
    Width=75
    Text="Папович"
    }
    Add(Button,9888182,525,189)
    {
    Top=235
    Width=390
    Caption="Заменить"
    link(onClick,11175971:doAdd,[])
    }
    Add(MT_AddData,11175971,567,189)
    {
    Count=5
    link(onAdd,16589432:doRowAction,[])
    link(Data1,8837610:Text,[(573,177)(531,177)])
    link(Data2,15131224:Text,[])
    link(Data3,12722254:Text,[(587,172)(622,172)])
    link(Data4,2919316:Text,[(594,177)(664,177)])
    link(Data5,14561741:Value,[(601,182)(706,182)])
    }
    Add(PointHint,15576856,497,56)
    {
    Info=#44:Пример замены строки с определенным индексом|
    Transparent=0
    VAlign=0
    Width=253
    Height=179
    }
    Add(Button,6514146,245,322)
    {
    Top=275
    Width=390
    Caption="Удалить"
    link(onClick,1928936:doData,[])
    }
    Add(Label,14714967,350,273)
    {
    Left=350
    Top=255
    Width=40
    Height=17
    Caption="индекс"
    }
    Add(Edit,2762966,301,273)
    {
    Left=325
    Top=255
    Width=20
    Text="0"
    }
    Add(MST_RowAction,6086742,350,322)
    {
    Action=3
    MSTControl="MTStrTbl"
    }
    Add(DoData,1928936,301,322)
    {
    link(onEventData,6086742:doRowAction,[])
    link(Data,2762966:Text,[])
    }
    Add(PointHint,12412199,231,238)
    {
    Info=#46:Пример удаления строки с определенным индексом|
    Transparent=0
    VAlign=0
    Width=253
    Height=151
    }
    Add(Button,15364452,525,343)
    {
    Top=320
    Width=390
    Caption="Изменить цвет строки"
    link(onClick,1224395:doAdd,[])
    }
    Add(ColorBox,1200809,616,280)
    {
    Left=45
    Top=295
    Width=110
    Height=21
    TypeListColors=1
    DefColor=128
    }
    Add(ColorBox,13832279,658,280)
    {
    Left=210
    Top=295
    Width=110
    Height=21
    DefColor=15780518
    }
    Add(Label,1886561,700,280)
    {
    Left=350
    Top=295
    Width=40
    Height=17
    Caption="индекс"
    }
    Add(Edit,11537864,574,280)
    {
    Left=325
    Top=295
    Width=20
    Text="0"
    DataType=2
    }
    Add(Label,1341390,700,343)
    {
    Left=5
    Top=295
    Width=32
    Height=17
    Caption="текст"
    }
    Add(Label,1113602,525,280)
    {
    Left=165
    Top=295
    Width=39
    Height=17
    Caption="строка"
    }
    Add(MST_RowAction,10547525,616,343)
    {
    Action=5
    MSTControl="MTStrTbl"
    link(onChange,13664548:doRedraw,[])
    }
    Add(MT_AddData,1224395,574,343)
    {
    Count=3
    link(onAdd,10547525:doRowAction,[])
    link(Data1,11537864:Text,[])
    link(Data2,1200809:Index,[(587,327)(629,327)])
    link(Data3,13832279:CurrentColor,[(594,332)(664,332)])
    }
    Add(RedrawManager,13664548,658,343)
    {
    ControlManager="MTStrTbl"
    }
    Add(PointHint,14798670,497,245)
    {
    Info=#53:Пример изменения цвета строки с определенным индексом|
    Transparent=0
    VAlign=0
    Width=253
    Height=144
    }
    Add(Memory,14561741,700,133)
    {
    Default=Integer(0)
    }
    Add(Memory,9086595,434,133)
    {
    Default=Integer(0)
    }
    Add(Button,1432218,406,539)
    {
    Left=5
    Top=345
    Width=80
    Caption="UpSelect"
    link(onClick,1298409:doEvent1,[])
    }
    Add(Button,6748925,406,581)
    {
    Left=90
    Top=345
    Width=80
    Caption="DownSelect"
    link(onClick,3026422:doEvent1,[])
    }
    Add(MST_RowAction,13969240,651,546)
    {
    Action=8
    MSTControl="MTStrTbl"
    Point(Index)
    link(Index,11682378:Var3,[(657,478)])
    }
    Add(MST_SelectRow,8210463,623,427)
    {
    MSTControl="MTStrTbl"
    Point(doSetFocus)
    }
    Add(MST_RowAction,762390,630,588)
    {
    Action=9
    MSTControl="MTStrTbl"
    Point(Index)
    link(Index,11682378:Var2,[])
    }
    Add(GetDataEx,11682378,630,473)
    {
    link(Data,8210463:Index,[])
    }
    Add(Memory,15001377,511,490)
    {
    Point(Data)
    link(Data,11682378:Var1,[(517,478)])
    }
    Add(Hub,1298409,462,539)
    {
    OutCount=3
    link(onEvent1,14956125:doWork2,[])
    link(onEvent2,13969240:doRowAction,[])
    link(onEvent3,9399632:doOperation,[])
    }
    Add(Hub,3026422,462,581)
    {
    OutCount=3
    link(onEvent1,14956125:doWork3,[(493,587)])
    link(onEvent2,762390:doRowAction,[])
    link(onEvent3,9833844:doOperation,[])
    }
    Add(HubEx,14956125,489,539)
    {
    Angle=3
    link(onEvent,15001377:doValue,[(493,496)])
    }
    Add(GetDataEx,2417978,511,532)
    {
    link(Data,15001377:Value,[])
    }
    Add(HubEx,11808865,569,553)
    {
    Angle=3
    link(onEvent,15171303:doEvent1,[(573,433)])
    }
    Add(Math,9399632,511,553)
    {
    OpType=1
    Op2=1
    ResultType=0
    link(onResult,11808865:doWork2,[])
    link(Op1,2417978:Var2,[])
    }
    Add(Math,9833844,525,595)
    {
    Op2=1
    ResultType=0
    link(onResult,11808865:doWork3,[(573,601)])
    link(Op1,2417978:Var3,[(531,537)])
    }
    Add(Hub,15171303,588,427)
    {
    link(onEvent1,8210463:doSelect,[])
    link(onEvent2,8210463:doSetFocus,[])
    }
    Add(PointHint,4025805,231,399)
    {
    Info=#36:Пример смещения строк вверх или вниз|
    Transparent=0
    VAlign=0
    Width=519
    Height=242
    }
    Примечания
    Для таких режимов как: AddRow, InsertRow, ReplaceRow, применяется упакованный цвет, значение которого, можно получить по следующей формуле - индекс цвета текста (0...15) * 16777216 + цвет строки. Значение 0 в индексе цвета текста или в цвете строки означает применение значений по-умолчанию, определенных в самой таблице
    Замечания
    Обновление элемента: [svn]MST_RowAction.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...