Вверх ↑
Этот топик читают: Гость
Ответов: 95
Рейтинг: 2
#1: 2013-02-01 15:40:27 ЛС | профиль | цитата
Использую элемент MTStrTbl. Можно ли как-то выставить автоширину столбцов при изменении размеров элемента во время выполнения программы?
Например, растянули таблицу -> последний столбец занял всё "новое" пространство.
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2013-02-01 16:05:57 ЛС | профиль | цитата
Abracadabra писал(а):
Например, растянули таблицу -> последний столбец занял всё "новое" пространство

Как-то так можно

Add(MainForm,2953706,133,147)
{
}
Add(MTStrTbl,10348303,133,196)
{
Left=10
Top=5
Width=365
Height=240
Align=2
Name="table"
Columns=#1:1|1:2|5:3=100|
Point(onResize)
Point(Width)
link(onResize,10508735:doEvent1,[])
}
Add(MST_ArrayCols,5614234,350,161)
{
MSTControl="table"
}
Add(ArrayEnum,6513084,238,231)
{
link(onItem,6374651:doSplit,[])
link(onEndEnum,6289656:doEvent1,[(290,244)(290,314)])
link(Array,5614234:ColumnArray,[(244,212)(356,212)])
}
Add(MultiStrData,6374651,301,231)
{
Char="="
From=1
Count=1
link(onPart1,13102462:doAdd,[(348,237)(348,293)])
}
Add(Hub,10508735,203,224)
{
link(onEvent1,14502203:doClear,[])
link(onEvent2,6513084:doEnum,[])
}
Add(IntegerArray,14502203,413,210)
{
IntArray=[]
}
Add(ArrayRW,13102462,413,273)
{
link(Array,11487932:Var2,[])
link(Index,3926864:Var2,[])
}
Add(ArraySum,13038069,371,315)
{
ArrayType=1
link(Array,11487932:Var1,[(377,257)])
}
Add(GetDataEx,11487932,413,252)
{
link(Data,14502203:Array,[])
}
Add(Hub,6289656,322,308)
{
OutCount=3
link(onEvent1,13102462:doRead,[(360,314)(360,279)])
link(onEvent2,13038069:doSum,[])
link(onEvent3,16178314:doCalc,[(360,328)(360,398)])
}
Add(MathParse,16178314,399,392)
{
DataCount=3
MathStr="%1 - %2 - 23 + %3"
ResultType=0
link(onResult,5226226:doAdd,[])
link(X1,10348303:Width,[(405,376)(167,376)])
link(X2,13038069:Sum,[(412,370)(377,370)])
link(X3,13102462:Item,[])
}
Add(MST_ColAction,3997395,511,392)
{
Action=6
MSTControl="table"
}
Add(MT_Add,5226226,455,392)
{
InputMT=1
link(onAdd,3997395:doColAction,[])
link(Data,3926864:Var3,[(461,249)])
}
Add(GetDataEx,3926864,420,244)
{
Angle=3
link(Data,5614234:EndIdxCol,[(377,249)])
}

карма: 22

0
Ответов: 95
Рейтинг: 2
#3: 2013-02-01 16:06:36 ЛС | профиль | цитата
Ага, нашёл в примерах организацию резиновых столбцов.
Думал можно как-то через параметры элемента такое настроить. Жаль
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#4: 2013-02-01 16:07:39 ЛС | профиль | цитата
Abracadabra писал(а):
через параметры элемента такое настроить

Не, не предусмотрено. Только по длине строки можно
карма: 22

0
Ответов: 95
Рейтинг: 2
#5: 2013-02-01 16:08:03 ЛС | профиль | цитата
nesco, спасибо
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#6: 2013-02-01 16:19:24 ЛС | профиль | цитата
Модификация моей схемы для резиновых столбцов

Add(MainForm,2953706,133,147)
{
}
Add(MTStrTbl,10348303,133,196)
{
Left=10
Top=5
Width=365
Height=240
Align=2
Name="table"
Columns=#1:1|1:2|5:3=100|
Point(onResize)
Point(Width)
link(onResize,10508735:doEvent1,[])
}
Add(MST_ArrayCols,5614234,350,161)
{
MSTControl="table"
}
Add(ArrayEnum,6513084,238,231)
{
link(onItem,6374651:doSplit,[])
link(onEndEnum,6289656:doEvent1,[(290,244)(290,314)])
link(Array,5614234:ColumnArray,[(244,212)(356,212)])
}
Add(MultiStrData,6374651,301,231)
{
Char="="
From=1
Count=1
link(onPart1,13102462:doAdd,[(348,237)(348,293)])
}
Add(Hub,10508735,203,224)
{
link(onEvent1,14502203:doClear,[])
link(onEvent2,6513084:doEnum,[])
}
Add(IntegerArray,14502203,441,210)
{
IntArray=[]
}
Add(ArrayRW,13102462,441,273)
{
link(Array,11487932:Var2,[])
link(Index,5614234:EndIdxCol,[(454,249)(377,249)])
}
Add(ArraySum,13038069,371,315)
{
ArrayType=1
link(Array,11487932:Var1,[(377,257)])
}
Add(GetDataEx,11487932,441,252)
{
link(Data,14502203:Array,[])
}
Add(Hub,6289656,322,308)
{
OutCount=3
link(onEvent2,13038069:doSum,[])
link(onEvent3,16178314:doCalc,[(360,328)(360,398)])
}
Add(MathParse,16178314,399,392)
{
DataCount=3
MathStr="(%1 - %2 - 23) div %3"
ResultType=0
link(onResult,9986301:doEnum,[])
link(X1,10348303:Width,[(405,376)(167,376)])
link(X2,13038069:Sum,[(412,370)(377,370)])
link(X3,5614234:CountCol,[(419,212)(370,212)])
}
Add(MST_ColAction,3997395,658,392)
{
Action=6
MSTControl="table"
}
Add(MT_Add,5226226,602,392)
{
InputMT=1
link(onAdd,3997395:doColAction,[])
link(Data,9986301:Index,[(608,380)(583,380)(583,436)(496,436)])
}
Add(ArrayEnum,9986301,483,392)
{
link(onItem,4943078:doOperation,[])
link(Array,11487932:Var3,[(489,257)])
}
Add(Math,4943078,539,392)
{
ResultType=0
link(onResult,5226226:doAdd,[])
link(Op2,16178314:Result,[(552,380)(478,380)(478,436)(405,436)])
}

карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2013-02-02 01:39:16 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-14 22:53:15
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#8: 2013-02-02 01:46:52 ЛС | профиль | цитата
37.45.92.88, не учтено только одно -- место под вертикальный скроллинг (нужно минимум 23 пикселя отступ от правого края), иначе появится горизонтальный, что не есть правильно
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2013-02-02 02:14:11 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-14 22:53:15
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#10: 2013-02-02 03:23:37 ЛС | профиль | цитата
37.45.92.88 писал(а):
Но это проверить нужно

Будет время, проверю и добавлю
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2013-02-02 13:00:47 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-14 22:53:15
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2013-02-02 21:48:08 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-14 22:53:15
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#13: 2013-02-03 02:25:26 ЛС | профиль | цитата
Очень интересный глюк с отключенным скроллом

bug_stretchcol_001.png
но это похоже на глюк библиотеки, а не метода. Просто таблица, без ничего, так же глючит

Но метод не работает по FPC

bug_stretchcol_002.png
карма: 22

0
файлы: 2bug_stretchcol_001.png [31.2KB] [349], bug_stretchcol_002.png [37.2KB] [375]
Гость
Ответов: 17029
Рейтинг: 0
#14: 2013-02-03 03:04:06 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-14 22:53:16
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#15: 2013-02-03 03:08:12 ЛС | профиль | цитата
37.45.199.9 писал(а):
Не моих это рук дело

А я к тебе претензий и не имею. Я же уже ответил
nesco писал(а):
но это похоже на глюк библиотеки, а не метода.

карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)