Вверх ↑
Этот топик читают: Гость
Ответов: 322
Рейтинг: 8
#1: 2021-03-16 06:25:39 ЛС | профиль | цитата
Сделал программу в которой формируется таблица с данными.
1.jpg
часть данных (ячейки с "Х") нужно сделать другим цветом (на форуме один волшебник выкладывал пример с MTStrТЫ способ закрашивания отдельных ячеек, но к сожалению не смог найти этого примера)
решил добавлять цветные иконки в ячейки с этими данными, но смог разобраться как добавить иконки только в столбцы, в строки не получается.
Большая просьба если у кого есть пример с закрашиванием ячеек или ссылка на этот форум и пример загрузки иконок в ячейки таблицы - пошлите меня в нужном направлении
Спасибо за помощь и критику.

Редактировалось 1 раз(а), последний 2021-03-16 06:26:10
карма: 0

0
Ответов: 322
Рейтинг: 8
#2: 2021-03-16 07:28:48 ЛС | профиль | цитата
На просторах форумов нашёл пример, немного доработал и получил вот такой результат:
1.jpg
В ячейках по отдельности можно менять цвет фона, букв так-же толщину шрифта и сам шрифт.

Add(MainForm,2953706,322,336)
{
Width=868
Height=416
link(onCreate,1302391:doEnum,[])
}
Add(StrList,5280837,364,294)
{
Strings=#39:Привет;1;1;0;0;0;1;1;1;0;0;1;0;0;1;1;1;|39:Привет;1;1;1;1;0;0;0;1;1;1;1;0;0;0;0;0;|40:Здорово;0;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;|0:|
}
Add(ArrayEnum,1302391,378,350)
{
link(onItem,1965424:doMT,[])
link(Array,5280837:Array,[])
}
Add(MTStrTbl,15079318,343,175)
{
Width=852
Height=280
Align=2
Name="222"
Columns=#14:Название=70==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|0:|
ColorItems=0
Grid=0
link(FormatCell,13332854:GetData,[])
}
Add(MST_RowAction,9103434,476,343)
{
MSTControl="222"
}
Add(MT_String,1965424,427,343)
{
link(onResult,9103434:doRowAction,[])
}
Add(EventFromData,13332854,357,126)
{
link(onEvent,6109613:doEvent1,[])
}
Add(DoData,6311065,637,133)
{
Data=String(10777215,255,MS Sans Serif,8,1)
link(onEventData,13552075:doWork2,[])
}
Add(MT_MultiMem,12442273,427,133)
{
Count=1
link(onData,5736427:doFor,[])
}
Add(Hub,6109613,399,126)
{
link(onEvent1,12026103:doData,[(424,132)(424,97)])
link(onEvent2,12442273:doValue,[])
}
Add(HubEx,16259747,504,77)
{
Angle=2
link(onEvent,13332854:doData,[(344,83)(344,132)])
}
Add(DoData,12026103,434,91)
{
link(onEventData,16259747:doWork3,[(508,97)])
}
Add(If_else,1401113,581,133)
{
link(onTrue,6311065:doData,[])
link(Op1,4383348:Var2,[(587,121)(487,121)])
link(Op2,10294597:Value,[])
}
Add(RedrawManager,11201372,735,84)
{
ControlManager="222"
}
Add(For,5736427,490,133)
{
Start=1
link(onEvent,15786532:doEvent1,[])
link(End,15079318:CountCol,[(503,114)(477,114)(477,218)(370,218)])
}
Add(Memory,10294597,588,84)
{
Default=Integer(0)
link(onData,9765239:doWork2,[])
}
Add(DoData,13314792,658,294)
{
Data=String(16707215,255,MS Sans Serif,8,1)
link(onEventData,13552075:doWork3,[(702,300)(702,200)(676,200)])
}
Add(If_else,15785623,602,294)
{
link(onTrue,13314792:doData,[])
link(Op1,4383348:Var3,[(608,173)])
link(Op2,9649351:Value,[])
}
Add(Memory,9649351,609,217)
{
Default=Integer(1)
link(onData,9765239:doWork3,[(718,223)])
}
Add(GetDataEx,4383348,481,168)
{
Angle=2
link(Data,12442273:Value1,[(487,179)(433,179)])
}
Add(HubEx,9765239,714,84)
{
link(onEvent,11201372:doRedraw,[])
}
Add(HubEx,13552075,672,133)
{
link(onEvent,16259747:doWork2,[(695,139)(695,83)])
}
Add(InfoTip,7863614,651,266)
{
Info=#48:Здесь меняется шрифт, толщина, цвет фона и буквы|
Width=134
Height=74
}
Add(InfoTip,10321113,602,189)
{
Info=#20:Данные для сравнения|
Width=92
Height=67
}
Add(Hub,15786532,539,133)
{
link(onEvent1,1401113:doCompare,[])
link(onEvent2,15785623:doCompare,[(566,146)(566,300)])
}
Всем удачи!
карма: 0

0
Ответов: 793
Рейтинг: 168
#3: 2021-03-16 08:21:20 ЛС | профиль | цитата
Dad2016, мне кажется что, у тебя в схеме много лишнего.
Add(MainForm,14470345,350,301)
{
Width=868
Height=416
link(onCreate,1302391:doEnum,[])
}
Add(StrList,5280837,392,259)
{
Strings=#39:Привет;1;1;0;0;0;1;1;1;0;0;1;0;0;1;1;1;|39:Привет;1;1;1;1;0;0;0;1;1;1;1;0;0;0;0;0;|40:Здорово;0;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;|0:|
}
Add(ArrayEnum,1302391,406,315)
{
link(onItem,1965424:doMT,[])
link(Array,5280837:Array,[])
}
Add(MTStrTbl,15079318,336,168)
{
Width=852
Height=280
Align=2
Name="222"
Columns=#14:Название=70==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|9:Ном=40==2|0:|
ColorItems=0
Redaction=0
Grid=0
link(FormatCell,13332854:GetData,[])
}
Add(MST_RowAction,9103434,504,308)
{
MSTControl="222"
}
Add(MT_String,1965424,455,308)
{
link(onResult,9103434:doRowAction,[])
}
Add(EventFromData,13332854,350,112)
{
link(onEvent,8769614:doSeparateMT,[])
}
Add(MT_MultiData,8769614,399,112)
{
link(onData1,2480107:doCase,[])
}
Add(Case,2480107,448,112)
{
Value=Integer(0)
DataOnTrue=String(10777215,255,MS Sans Serif,8,1)
link(onNextCase,3268029:doCase,[])
link(onTrue,9535624:doWork2,[(501,125)(501,153)])
}
Add(Case,3268029,511,112)
{
Value=Integer(1)
DataOnTrue=String(16707215,255,MS Sans Serif,8,1)
link(onNextCase,2309097:doData,[])
link(onTrue,9535624:doWork1,[(557,125)])
}
Add(DoData,2309097,567,112)
{
link(onEventData,16482702:doWork2,[])
}
Add(HubEx,16482702,616,112)
{
Angle=3
link(onEvent,13332854:doData,[(620,96)(340,96)(340,118)])
}
Add(HubEx,9535624,553,147)
{
link(onEvent,16482702:doWork3,[(620,153)])
}


Редактировалось 1 раз(а), последний 2021-03-16 09:42:56
карма: 16

0
Ответов: 322
Рейтинг: 8
#4: 2021-03-16 14:06:48 ЛС | профиль | цитата
Gunta писал(а):
мне кажется что, у тебя в схеме много лишнего

Согласен твой пример намного интереснее.

Редактировалось 3 раз(а), последний 2021-03-16 14:20:07
карма: 0

0
Ответов: 793
Рейтинг: 168
#5: 2021-03-24 16:43:05 ЛС | профиль | цитата
Dad2016, В принципе, "иконки" можно вставлять в любой столбец таблицы MTStrTbl.
Схема на форуме обрезается. Ссылка на архив - https://forum.hiasm.com/getfile/39217

Редактировалось 1 раз(а), последний 2021-03-24 16:47:24
карма: 16

1
Голосовали:Dad2016
Ответов: 322
Рейтинг: 8
#6: 2021-03-25 06:26:52 ЛС | профиль | цитата
Gunta писал(а):
можно вставлять в любой столбец

Спасибо за пример.
Принцип работы понятен, единственное не понял куда ты поместил иконки?
карма: 0

0
Ответов: 2059
Рейтинг: 132
#7: 2021-03-25 11:34:25 ЛС | профиль | цитата
Dad2016
не понял куда ты поместил иконки?

А говоришь понял, это такой шрифт.
карма: 6

0
Ответов: 322
Рейтинг: 8
#8: 2021-03-26 06:20:46 ЛС | профиль | цитата
flint2 писал(а):
А говоришь понял

Мы всю жизнь учимся, это маленькая ступенька к совершенству.
карма: 0

0
Ответов: 2059
Рейтинг: 132
#9: 2021-03-26 09:24:21 ЛС | профиль | цитата
Dad2016, не сердись.
Я старый стал, без ворчания не могу. А внутри я добрый.
карма: 6

0
Ответов: 322
Рейтинг: 8
#10: 2021-03-29 11:55:09 ЛС | профиль | цитата
flint2 писал(а):
не сердись

Ни в коем случае!
Любые замечания (критика) и т.д. только помогают понять свою проблему.
Спасибо.
карма: 0

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