Вверх ↑
Этот топик читают: Гость
Ответов: 145
Рейтинг: 0
#1: 2025-02-20 01:03:21 ЛС | профиль | цитата
Подскажите, можно ли создать таблицу такого вида как на картинке:


При нажатии на "заглавную строку" нужно чтоб в поток выходили все данные, которые ей относятся, то есть ячейки справа ...

Редактировалось 1 раз(а), последний 2025-02-20 01:05:51
карма: 0

0
Ответов: 147
Рейтинг: 3
#2: 2025-02-20 08:14:13 ЛС | профиль | цитата
можно ли создать таблицу такого вида как на картинке

можно
карма: 1

0
Ответов: 145
Рейтинг: 0
#3: 2025-02-20 19:33:19 ЛС | профиль | цитата
strannik_nebes писал(а):
можно ли создать таблицу такого вида как на картинке

можно

Прекрасно! Не подскажете как?
карма: 0

0
Ответов: 866
Рейтинг: 186
#4: 2025-02-21 07:36:27 ЛС | профиль | цитата
strannik_nebes писал(а):
можно

Очень интересно. Как посмотреть на твой вариант?
У меня пока вышло так. Может кто-нибудь предложит другой способ.
Add(MainForm,12660147,455,294)
{
Width=818
Height=297
Caption="Table control"
link(onCreate,9983747:doEnum,[])
}
Add(DocumentTemplate,3449277,665,427)
{
Name="doc"
link(Bitmap,13572165:Bitmap,[(671,418)(657,418)(657,467)(622,467)])
}
BEGIN_SDK
Add(Print_Table,8755987,97,-3)
{
Name="table"
X=100
Width=200
Height=1000
Columns=#6:1|70|0|6:2|70|0|6:3|70|0|0:|
RowHeight=30
TableTrans=0
TBorderStyle=5
HeadFont=[Lucida Console,12,0,0,204]
Visible=1
CellFont=[Lucida Console,12,0,0,204]
CellTrans=0
Left=3
Top=3
Right=3
Bottom=3
MakeExt(Cells,,Cells)
}
Add(Print_Table,5727864,-3,-3)
{
Name="table1"
Width=100
Height=1000
Columns=#15:Заголовок|100|0|0:|
RowHeight=150
TableTrans=0
TBorderStyle=5
HeadFont=[Lucida Console,12,0,0,204]
Visible=1
CellFont=[Lucida Console,12,0,0,204]
CellTrans=0
Left=3
Top=3
Right=3
Bottom=3
MakeExt(Cells,,Cells)
}
END_SDK
Add(PC_TableSetCell,1103495,728,308)
{
ItemName="table"
Document="doc"
link(Col,1347018:Index,[(741,299)(720,299)(720,348)(678,348)])
link(Row,9983747:Index,[(748,292)(657,292)(657,348)(517,348)])
}
Add(PaintBox,13572165,616,427)
{
Top=20
Width=301
Height=151
Color=16777215
Layout="horz"
WidthScale=100
HeightScale=100
ClearBeforeDraw=0
link(onBeforeDraw,3449277:doDraw,[])
}
Add(PC_TableRow,13488397,616,266)
{
ItemName="table"
Document="doc"
}
Add(ArrayEnum,9983747,504,308)
{
link(onItem,5061120:doEvent1,[])
link(onEndEnum,1589760:doEvent1,[(543,321)(543,370)])
link(Array,3068266:Array,[])
}
Add(Hub,5061120,560,308)
{
link(onEvent1,13488397:doAddRow,[(585,314)(585,272)])
link(onEvent2,15383616:doMT,[])
}
Add(MT_Enum,1347018,665,308)
{
link(onItem,1103495:doText,[])
}
Add(MT_String,15383616,616,308)
{
link(onResult,1347018:doEnum,[])
}
Add(PC_MouseEnter,1181879,434,182)
{
NamedList=#6:table1|0:|
Document="doc"
Point(onMouseLeave)
link(onMouseEnter,3709936:doData,[])
link(MouseX,9667232:MouseX,[])
link(MouseY,9667232:MouseY,[])
}
Add(MouseEvent,9667232,434,133)
{
}
Add(Timer,4722024,224,175)
{
Interval=100
link(onTimer,5470852:doReadKey,[])
}
Add(Keyboard,5470852,273,175)
{
Key=1
link(onReadKey,11876973:doData,[])
}
Add(PC_TableRow,5764646,616,364)
{
ItemName="table1"
Document="doc"
link(onAddRow,10242768:doText,[])
}
Add(Hub,1589760,560,364)
{
link(onEvent1,5764646:doAddRow,[])
link(onEvent2,13572165:doRefresh,[(606,377)(606,433)])
}
Add(PC_TableSetCell,10242768,665,364)
{
ItemName="table1"
Document="doc"
Text="Заголовок"
}
Add(StrList,3068266,490,231)
{
Strings=#15:Петров;Москва;1|14:Иванов;Минск;2|14:Сидоров;Киев;3|15:Смирнов;Киров;4|16:Малевич;Сидней;5|
Point(doGetIndex)
Point(onGetIndex)
}
Add(DoData,3709936,490,182)
{
link(onEventData,11792066:doAdd,[])
link(Data,3068266:Text,[(496,173)(482,173)(482,278)(496,278)])
}
Add(Memo,11792066,553,182)
{
Left=395
Top=10
Width=383
Height=221
Font=[Lucida Console,12,0,0,204]
Antialiased=1
ScrollBars=3
}
Add(Case,7356099,371,175)
{
Value=Integer(1)
link(onTrue,1181879:doCheck,[])
}
Add(ChangeMon,11876973,322,175)
{
link(onData,7356099:doCase,[])
}


Редактировалось 2 раз(а), последний 2025-02-21 07:44:04
карма: 18

0
Ответов: 147
Рейтинг: 3
#5: 2025-02-21 08:53:58 ЛС | профиль | цитата
Прекрасно! Не подскажете как?

Каков вопрос- таков ответ ©.

Очень интересно. Как посмотреть на твой вариант?

Нет сейчас технической возможности.
У тебя проще. Я делал что-то похожее для других целей в динамике панелей ChildPanelEx и использованием элементов блока Layout. Плюсы: любой размер, любой стиль ячеек (универсальность). Минус- относительная сложность реализации, скорость отрисовки ниже.

Редактировалось 1 раз(а), последний 2025-02-21 08:54:27
карма: 1

0
Ответов: 2324
Рейтинг: 681
#6: 2025-02-21 12:05:00 ЛС | профиль | цитата
Подержите мое пиво
Вот как вариант с классической отрисовкой ячеек:

Add(MainForm,15131939,133,182)
{
Width=820
Height=482
Position=1
link(onCreate,9364156:doEvent1,[])
}
Add(MTStrTbl,11419602,392,301)
{
Left=15
Top=25
Width=772
Height=392
Font=[MS Sans Serif,12,0,0,1]
Name="testTable"
Columns=#9:name1=150|9:name2=100|9:name3=100|8:name4=50|
Style=4
Grid=0
Point(Handle)
link(onClick,14987181:doWork1,[(475,307)(475,238)(312,238)])
}
Add(StrList,3068266,238,140)
{
Strings=#30:Администрация;Петров;Москва;56|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|
Point(doGetIndex)
Point(onGetIndex)
}
Add(MT_String,9368895,294,182)
{
link(onResult,11529294:doRowAction,[])
}
Add(ArrayEnum,924678,252,196)
{
link(onItem,9368895:doMTString,[])
link(Array,3068266:Array,[])
}
Add(PaintBox,15933036,336,259)
{
Width=0
Height=443
Align=1
Color=-16777211
ClearBeforeDraw=0
Point(doWidth)
Point(Width)
Point(onMouseDown)
Point(MouseY)
Point(Handle)
link(onBeforeDraw,862705:doDraw,[])
link(onMouseDown,862705:doMouseDown,[])
}
Add(MST_RowAction,11529294,336,182)
{
MSTControl="testTable"
}
Add(SetParent,2235133,357,350)
{
link(Handle,15933036:Handle,[])
link(NewParent,11419602:Handle,[(370,345)(426,345)])
}
Add(Hub,9364156,182,196)
{
OutCount=4
link(onEvent1,924678:doEnum,[])
link(onEvent2,2235133:doSetParent,[(234,209)(234,356)])
link(onEvent3,8415824:doColAction,[(243,216)(243,272)])
link(onEvent4,14987181:doWork2,[(227,223)(227,265)])
}
Add(MST_ColAction,8415824,252,266)
{
Action=10
MSTControl="testTable"
link(onResult,10871219:doSeparateMT,[])
}
Add(MT_MultiData,10871219,294,280)
{
From=2
Count=1
link(onData1,15933036:doWidth,[(331,286)(331,279)])
}
Add(MultiElementEx,862705,392,259)
{
link(onData,11710124:doMessage,[])
link(Data,642165:Cable,[(398,247)(377,247)(377,323)(342,323)])
}
BEGIN_SDK
Add(EditMultiEx,16101698,21,21)
{
WorkCount=#6:doDraw|11:doMouseDown|
EventCount=#6:onData|
DataCount=#4:Data|
Width=986
Height=774
link(doDraw,5906303:doEvent1,[(171,27)(171,139)])
link(doMouseDown,1838298:doEnum,[(95,34)(95,636)])
}
Add(LineBreakEx,4308052,588,392)
{
Caption="bmp"
Type=2
}
Add(Img_TextInRect,10632373,644,434)
{
Font=[MS Sans Serif,12,0,0,1]
OffsetLeft=4
Alignvertical=2
link(onDraw,7493905:doValue,[(702,440)(702,209)(625,209)(625,174)])
link(Bitmap,4674398:getVar,[])
link(Text,11062118:Var2,[(657,242)(559,242)])
link(Point1,14182416:Var3,[(664,362)])
link(Point2,11477432:Var2,[])
}
Add(LineBreakEx,4674398,644,392)
{
Caption="bmp"
Type=2
}
Add(MST_ArrayRows,2276481,266,133)
{
MSTControl="parent.testTable"
}
Add(MT_MultiData,16707922,308,182)
{
Count=1
link(onData1,3415084:doEvent1,[])
}
Add(MT_MTArrayEnum,8015133,266,182)
{
link(onItem,16707922:doSeparateMT,[])
link(onEndEnum,2622780:doEvent2,[(305,195)(305,461)])
link(Array,2276481:Strings,[])
}
Add(LineBreakEx,9669269,665,280)
{
Caption="w"
Type=2
}
Add(Memory,11537028,553,182)
{
Default=String(?)
AddHint(-5,-47,31,13,Default)
}
Add(Memory,7493905,637,168)
{
Default=Integer(0)
Point(Data)
link(Data,2547750:Var1,[(643,159)])
AddHint(0,-27,21,13,Default)
}
Add(MST_UseEditCtrl,949318,350,42)
{
MSTControl="parent.testTable"
Point(doClientRect)
Point(onClientRect)
link(onClientRect,1429580:doValue,[])
}
Add(If_else,7471250,385,182)
{
Op2=String(?)
link(onTrue,11571070:doWork2,[])
link(onFalse,8830720:doCompare,[])
link(Op1,2665160:Var1,[(391,170)])
AddHint(-1,-47,31,13,Op2)
}
Add(GetDataEx,11062118,553,217)
{
link(Data,11537028:Value,[])
}
Add(Hub,3415084,350,182)
{
link(onEvent1,7471250:doCompare,[])
link(onEvent2,4012070:doCalc,[(381,195)(381,125)])
}
Add(Hub,2622780,329,448)
{
InCount=2
OutCount=6
link(onEvent1,10685586:doCalc,[(348,454)(348,321)])
link(onEvent2,15873828:doCompare,[(358,461)(358,384)])
link(onEvent3,2811458:doValue,[(420,468)(420,286)])
link(onEvent4,15724419:doDraw,[(465,475)(465,440)])
link(onEvent5,2896120:doAdd,[(737,482)(737,258)])
link(onEvent6,4231421:doAdd,[(801,489)(801,265)])
}
Add(MathParse,10685586,602,315)
{
DataCount=1
MathStr="%1 *65536"
link(onResult,11117395:doCalc,[])
link(X1,7493905:Value,[(608,304)(643,304)])
}
Add(MathParse,11117395,665,315)
{
MathStr="(%1 + 1) + (%2 + 1) *65536"
link(X1,9669269:getVar,[])
link(X2,2547750:Var2,[])
}
Add(Hub,5906303,196,133)
{
OutCount=8
link(onEvent1,949318:doClientRect,[(217,139)(217,55)])
link(onEvent2,10252066:In,[])
link(onEvent3,9732778:In,[])
link(onEvent4,15596901:In,[])
link(onEvent5,6626142:In,[])
link(onEvent6,8370428:In,[])
link(onEvent7,3842368:In,[])
link(onEvent8,8015133:doEnum,[])
}
Add(MT_MultiMem,1429580,672,70)
{
From=3
Count=1
}
Add(GetDataEx,14182416,602,357)
{
link(Data,10685586:Result,[])
}
Add(GetDataEx,11477432,665,364)
{
link(Data,11117395:Result,[])
}
Add(GetDataEx,2547750,672,154)
{
link(Data,4012070:Result,[])
}
Add(If_else,8830720,434,189)
{
link(onFalse,4664640:doEvent1,[])
link(Op2,2665160:Var2,[])
}
Add(GetDataEx,2665160,441,165)
{
Angle=1
link(Data,11062118:Var1,[(546,170)(546,222)])
}
Add(Hub,4664640,476,196)
{
link(onEvent1,2622780:doEvent1,[(503,202)(503,254)(324,254)(324,454)])
link(onEvent2,11571070:doWork3,[(508,209)])
}
Add(HubEx,11571070,504,182)
{
link(onEvent,11537028:doValue,[])
}
Add(MathParse,4012070,672,119)
{
DataCount=1
MathStr="%0 + %1 + 1"
Default=1
Point(doClear)
link(X1,1429580:Value1,[])
}
Add(LineBreak,7210630,630,126)
{
Caption="cl"
link(Out,4012070:doClear,[])
Primary=[10252066,-406,14]
}
Add(LineBreak,3233183,511,189)
{
Caption="cl"
link(Out,11537028:doClear,[])
Primary=[9732778,-287,-42]
}
Add(LineBreak,10145184,595,175)
{
Caption="cl"
link(Out,7493905:doClear,[])
Primary=[15596901,-371,-21]
}
Add(LineBreakEx,1385560,21,112)
{
Caption="bmp"
Type=3
link(_Data,15510110:Wire1,[])
}
Add(LineBreakEx,10454381,28,98)
{
Caption="w"
Type=3
link(_Data,15510110:Wire2,[])
}
Add(IntegerArray,851710,777,70)
{
@Hint=#7:Индексы|
IntArray=[]
AddHint(-3,-23,61,13,@Hint)
}
Add(ArrayRW,2896120,756,238)
{
link(Array,1611755:getVar,[])
link(Value,16432057:Var3,[(776,226)])
}
Add(LineBreak,12244025,735,84)
{
Caption="cl"
link(Out,851710:doClear,[])
Primary=[6626142,-511,77]
}
Add(IntegerArray,1664219,882,77)
{
@Hint=#6:Высоты|
IntArray=[]
AddHint(-16,-29,55,13,@Hint)
}
Add(ArrayRW,4231421,819,245)
{
link(Array,12860788:getVar,[])
link(Value,2547750:Var3,[(839,159)])
}
Add(LineBreak,5418522,840,91)
{
Caption="cl"
link(Out,1664219:doClear,[])
Primary=[8370428,-616,77]
}
Add(LineBreakEx,1611755,756,203)
{
Caption="IS"
Type=2
}
Add(LineBreakEx,7559039,777,112)
{
Caption="IS"
Type=3
link(_Data,851710:Array,[])
}
Add(LineBreakEx,12860788,819,217)
{
Caption="HS"
Type=2
}
Add(LineBreakEx,5952417,882,119)
{
Caption="HS"
Type=3
link(_Data,1664219:Array,[])
}
Add(CableVar,15510110,21,56)
{
Count=3
link(Cable,16101698:Data,[])
}
Add(LineBreakEx,12327106,105,595)
{
Caption="HS"
Type=2
}
Add(ArrayEnum,1838298,105,630)
{
link(onItem,9274200:doCompare,[])
link(onEndEnum,16539140:doClear,[(146,643)(146,601)])
link(Array,12327106:getVar,[])
}
Add(Memory,16539140,154,588)
{
Default=Integer(0)
AddHint(2,-23,21,13,Default)
}
Add(If_else,9274200,154,630)
{
Type=1
link(onTrue,2984601:doCompare,[])
link(onFalse,8763058:doWork3,[(193,643)])
link(Op1,16539140:Value,[])
}
Add(LineBreak,9837558,35,84)
{
Caption="mY"
Type=1
link(Data,15510110:Wire3,[])
Primary=[7412628,175,511]
}
Add(If_else,2984601,203,630)
{
Type=2
link(onTrue,1557144:doEvent1,[])
link(onFalse,8763058:doWork2,[(247,643)(247,587)])
link(Op2,7412628:Var,[])
}
Add(ArrayRW,15092897,294,630)
{
link(onRead,10258483:doEvent1,[])
link(Array,13831627:getVar,[])
link(Index,14831096:Var1,[(307,583)])
}
Add(LineBreakEx,13831627,294,595)
{
Caption="IS"
Type=2
}
Add(HubEx,8763058,189,581)
{
Angle=2
link(onEvent,16539140:doValue,[(147,587)(147,594)])
}
Add(Hub,1557144,266,630)
{
link(onEvent1,15092897:doRead,[])
link(onEvent2,1838298:doStop,[(285,643)(285,680)(93,680)(93,643)])
}
Add(MST_ArrayRows,14894588,630,595)
{
MSTControl="parent.testTable"
}
Add(MT_MTArrayRW,11157795,630,644)
{
link(onRead,5615754:doGet,[])
link(Array,14894588:Strings,[])
}
Add(For,9226679,539,644)
{
IncludeEnd=1
link(onEvent,11157795:doRead,[])
link(onStop,125369:doEvent1,[])
link(Start,2731308:Value,[])
link(End,15092897:Item,[(552,628)(521,628)(521,694)(300,694)])
}
Add(Memory,2731308,539,595)
{
Default=Integer(0)
AddHint(3,-23,21,13,Default)
}
Add(If_else,16222556,364,637)
{
Type=5
Op2=Integer(0)
link(onTrue,4319442:doEvent1,[(404,643)(404,601)])
link(onFalse,12195159:doWork2,[])
link(Op1,14831096:Var2,[])
AddHint(4,-31,21,13,Op2)
}
Add(GetDataEx,14831096,364,578)
{
Angle=1
link(Data,16585060:Var1,[])
}
Add(ArrayRW,15779171,490,595)
{
link(onRead,2731308:doValue,[])
link(Array,6836507:getVar,[])
}
Add(LineBreakEx,6836507,490,560)
{
Caption="IS"
Type=2
}
Add(Math,9989628,441,595)
{
OpType=1
Op2=1
link(onResult,15779171:doRead,[])
link(Op1,16585060:Var3,[(447,583)])
AddHint(1,-22,30,13,Op2)
}
Add(GetDataEx,16585060,401,578)
{
Angle=2
link(Data,1838298:Index,[(407,708)(118,708)])
}
Add(Hub,4319442,413,595)
{
link(onEvent1,9989628:doOperation,[])
link(onEvent2,12195159:doWork1,[(431,608)])
}
Add(HubEx,12195159,427,644)
{
link(onEvent,9226679:doFor,[])
}
Add(StrList,6559097,770,644)
{
}
Add(Hub,125369,595,651)
{
OutCount=4
link(onEvent1,2731308:doClear,[(615,657)(615,623)(549,623)(549,608)])
link(onEvent3,9453041:doData,[(623,671)(623,706)])
link(onEvent4,6559097:doClear,[(689,678)(689,657)])
}
Add(MT_String,4882649,714,644)
{
link(onResult,6559097:doAdd,[])
}
Add(DoData,9453041,770,700)
{
link(onEventData,16101698:onData,[(965,706)(965,27)])
link(Data,6559097:Text,[])
}
Add(MT_Get,5615754,672,644)
{
link(onData,4882649:doStr,[])
}
Add(InfoTip,12465489,63,525)
{
Info=#39:По массиву высот определяем куда нажали|
Width=190
Height=193
}
Add(InfoTip,6316073,266,525)
{
Info=#55:По массиву индексов определяем с какого по какую строку|
Width=316
Height=193
}
Add(Img_Rectangle,15724419,588,434)
{
Style=1
Color=-16777196
Point(Point1)
Point(Point2)
Point(BgColor)
link(onDraw,10632373:doDraw,[])
link(Bitmap,4308052:getVar,[])
link(Point1,14182416:Var2,[])
link(Point2,11477432:Var1,[(615,369)])
link(BgColor,4623544:Var,[(622,422)(538,422)])
}
Add(MST_SelectRow,7047176,378,280)
{
MSTControl="parent.testTable"
}
Add(If_else,15873828,364,378)
{
Type=2
link(onTrue,7168031:doCompare,[(412,384)(412,363)])
link(onFalse,968574:doWork2,[])
link(Op1,8771348:Var2,[])
link(Op2,9281998:Var1,[(377,341)])
}
Add(GetDataEx,8771348,364,221)
{
Angle=3
link(Data,8015133:Index,[(279,226)])
}
Add(GetIndexData,4623544,532,378)
{
link(Data1,5559980:Result,[(538,370)(510,370)])
link(Data2,4635898:Result,[(545,370)(552,370)])
}
Add(SelectColor,5559980,504,329)
{
Color=-16777196
}
Add(ChanelToIndex,14763634,490,378)
{
link(onIndex,4623544:doIndex,[])
}
Add(SelectColor,4635898,546,329)
{
Color=-16777211
}
Add(If_else,7168031,427,357)
{
Type=4
link(onTrue,14763634:doWork1,[(475,363)(475,384)])
link(onFalse,968574:doWork1,[(466,370)])
link(Op1,9281998:Var3,[(433,341)])
link(Op2,2811458:Value,[])
}
Add(GetDataEx,9281998,385,336)
{
link(Data,7047176:Index,[])
}
Add(HubEx,968574,462,385)
{
link(onEvent,14763634:doWork2,[])
}
Add(Memory,2811458,434,280)
{
Point(Data)
link(Data,16432057:Var2,[])
}
Add(GetDataEx,16432057,434,221)
{
Angle=3
link(Data,8771348:Var3,[])
}
Add(LineBreak,1085413,385,259)
{
Caption="cl"
link(Out,2811458:doClear,[(425,265)(425,293)])
Primary=[3842368,-161,-84]
}
Add(Hub,10258483,336,630)
{
link(onEvent1,2402282:doOperation,[(357,636)(357,545)])
link(onEvent2,16222556:doCompare,[])
}
Add(LineBreak,15441562,329,280)
{
Caption="sel"
link(Out,7047176:doSelect,[])
Primary=[9846043,77,259]
}
Add(Math,2402282,364,539)
{
OpType=1
Op2=1
link(onResult,9846043:In,[])
AddHint(35,14,30,13,Op2)
}
END_SDK
Add(CableData,642165,336,301)
{
Count=3
link(Wire1,15933036:Bitmap,[])
link(Wire2,15933036:Width,[])
link(Wire3,15933036:MouseY,[])
}
Add(Message,11710124,434,259)
{
}
Add(HubEx,14987181,308,259)
{
link(onEvent,15933036:doRefresh,[])
}

Вот как кнопки (отрисовку нажатия не реализовал, но там не сложно):

Add(MainForm,2953706,119,273)
{
Width=820
Height=482
Position=1
link(onCreate,9364156:doEvent1,[])
}
Add(MTStrTbl,11419602,378,392)
{
Left=15
Top=25
Width=772
Height=392
Font=[MS Sans Serif,12,0,0,1]
Name="testTable"
Columns=#9:name1=150|9:name2=100|9:name3=100|8:name4=50|
Style=4
Grid=0
Point(Handle)
}
Add(StrList,3068266,224,231)
{
Strings=#30:Администрация;Петров;Москва;56|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|
Point(doGetIndex)
Point(onGetIndex)
}
Add(MT_String,9368895,280,273)
{
link(onResult,11529294:doRowAction,[])
}
Add(ArrayEnum,924678,238,287)
{
link(onItem,9368895:doMTString,[])
link(Array,3068266:Array,[])
}
Add(PaintBox,15933036,322,350)
{
Width=0
Height=443
Align=1
ClearBeforeDraw=0
Point(doWidth)
Point(Width)
Point(onMouseDown)
Point(MouseY)
Point(Handle)
link(onBeforeDraw,862705:doDraw,[])
link(onMouseDown,862705:doMouseDown,[])
}
Add(MST_RowAction,11529294,322,273)
{
MSTControl="testTable"
}
Add(SetParent,2235133,343,441)
{
link(Handle,15933036:Handle,[])
link(NewParent,11419602:Handle,[(356,433)(412,433)])
}
Add(Hub,9364156,168,287)
{
OutCount=4
link(onEvent1,924678:doEnum,[])
link(onEvent2,2235133:doSetParent,[(220,300)(220,447)])
link(onEvent3,8415824:doColAction,[(229,307)(229,363)])
link(onEvent4,15933036:doRefresh,[(213,314)(213,356)])
}
Add(MST_ColAction,8415824,238,357)
{
Action=10
MSTControl="testTable"
link(onResult,10871219:doSeparateMT,[])
}
Add(MT_MultiData,10871219,280,371)
{
From=2
Count=1
link(onData1,15933036:doWidth,[(317,377)(317,370)])
}
Add(MultiElementEx,862705,378,350)
{
link(Data,642165:Cable,[(384,338)(363,338)(363,414)(328,414)])
link(onData,11710124:doMessage,[])
}
BEGIN_SDK
Add(EditMultiEx,16101698,21,21)
{
WorkCount=#6:doDraw|11:doMouseDown|
EventCount=#6:onData|
DataCount=#4:Data|
Width=986
Height=697
link(doDraw,5906303:doEvent1,[(171,27)(171,146)])
link(doMouseDown,1838298:doEnum,[(95,34)(95,608)])
}
Add(Img_Edge,6159473,497,434)
{
link(onDraw,10632373:doDraw,[])
link(Bitmap,4308052:getVar,[])
link(Point1,14182416:Var2,[])
link(Point2,11477432:Var1,[(517,369)])
}
Add(LineBreakEx,4308052,497,392)
{
Caption="bmp"
Type=2
}
Add(Img_TextInRect,10632373,546,434)
{
Font=[MS Sans Serif,12,0,0,1]
OffsetLeft=4
Alignvertical=2
link(onDraw,7493905:doValue,[(601,440)(601,174)])
link(Bitmap,4674398:getVar,[])
link(Text,11062118:Var2,[])
link(Point1,14182416:Var3,[(566,362)])
link(Point2,11477432:Var2,[])
}
Add(LineBreakEx,4674398,546,392)
{
Caption="bmp"
Type=2
}
Add(MST_ArrayRows,2276481,266,133)
{
MSTControl="parent.testTable"
}
Add(MT_MultiData,16707922,308,182)
{
Count=1
link(onData1,3415084:doEvent1,[])
}
Add(MT_MTArrayEnum,8015133,266,182)
{
link(onItem,16707922:doSeparateMT,[])
link(onEndEnum,2622780:doEvent2,[(305,195)(305,468)])
link(Array,2276481:Strings,[])
}
Add(LineBreakEx,9669269,567,280)
{
Caption="w"
Type=2
}
Add(Memory,11537028,553,182)
{
Default=String(?)
AddHint(-5,-47,31,13,Default)
}
Add(Memory,7493905,637,168)
{
Default=Integer(0)
Point(Data)
link(Data,2547750:Var1,[(643,159)])
AddHint(0,-27,21,13,Default)
}
Add(MST_UseEditCtrl,949318,350,42)
{
MSTControl="parent.testTable"
Point(doClientRect)
Point(onClientRect)
link(onClientRect,1429580:doValue,[])
}
Add(If_else,7471250,385,182)
{
Op2=String(?)
link(onTrue,11571070:doWork2,[])
link(onFalse,8830720:doCompare,[])
link(Op1,2665160:Var1,[(391,170)])
AddHint(-1,-47,31,13,Op2)
}
Add(GetDataEx,11062118,553,217)
{
link(Data,11537028:Value,[])
}
Add(Hub,3415084,350,182)
{
link(onEvent1,7471250:doCompare,[])
link(onEvent2,4012070:doCalc,[(381,195)(381,125)])
}
Add(Hub,2622780,434,455)
{
InCount=2
OutCount=4
link(onEvent1,10685586:doCalc,[(476,461)(476,321)])
link(onEvent2,6159473:doDraw,[(486,468)(486,440)])
link(onEvent3,2896120:doAdd,[(743,475)(743,258)])
link(onEvent4,4231421:doAdd,[(806,482)(806,265)])
}
Add(MathParse,10685586,504,315)
{
DataCount=1
MathStr="%1 *65536"
link(onResult,11117395:doCalc,[])
link(X1,7493905:Value,[(510,268)(643,268)])
}
Add(MathParse,11117395,567,315)
{
MathStr="%1 + %2 *65536"
link(X1,9669269:getVar,[])
link(X2,2547750:Var2,[(580,299)(678,299)])
}
Add(Hub,5906303,196,140)
{
OutCount=7
link(onEvent1,949318:doClientRect,[(217,146)(217,55)])
link(onEvent2,10252066:In,[])
link(onEvent3,9732778:In,[])
link(onEvent4,15596901:In,[])
link(onEvent5,6626142:In,[])
link(onEvent6,8370428:In,[])
link(onEvent7,8015133:doEnum,[])
}
Add(MT_MultiMem,1429580,672,70)
{
From=3
Count=1
}
Add(GetDataEx,14182416,504,357)
{
link(Data,10685586:Result,[])
}
Add(GetDataEx,11477432,567,364)
{
link(Data,11117395:Result,[])
}
Add(GetDataEx,2547750,672,154)
{
link(Data,4012070:Result,[])
}
Add(If_else,8830720,434,189)
{
link(onFalse,4664640:doEvent1,[])
link(Op2,2665160:Var2,[])
}
Add(GetDataEx,2665160,441,165)
{
Angle=1
link(Data,11062118:Var1,[(546,170)(546,222)])
}
Add(Hub,4664640,476,196)
{
link(onEvent1,2622780:doEvent1,[(503,202)(503,254)(408,254)(408,461)])
link(onEvent2,11571070:doWork3,[(508,209)])
}
Add(HubEx,11571070,504,182)
{
link(onEvent,11537028:doValue,[])
}
Add(MathParse,4012070,672,119)
{
DataCount=1
MathStr="%0 + %1 + 1"
Default=1
Point(doClear)
link(X1,1429580:Value1,[])
}
Add(LineBreak,16363479,630,126)
{
Caption="cl"
link(Out,4012070:doClear,[])
Primary=[10252066,-406,21]
}
Add(LineBreak,9520150,511,189)
{
Caption="cl"
link(Out,11537028:doClear,[])
Primary=[9732778,-287,-35]
}
Add(LineBreak,11274038,595,175)
{
Caption="cl"
link(Out,7493905:doClear,[])
Primary=[15596901,-371,-14]
}
Add(LineBreakEx,1385560,21,112)
{
Caption="bmp"
Type=3
link(_Data,15510110:Wire1,[])
}
Add(LineBreakEx,10454381,28,98)
{
Caption="w"
Type=3
link(_Data,15510110:Wire2,[])
}
Add(IntegerArray,851710,777,70)
{
@Hint=#7:Индексы|
IntArray=[]
AddHint(-3,-23,61,13,@Hint)
}
Add(ArrayRW,2896120,756,238)
{
link(Array,1611755:getVar,[])
link(Value,8015133:Index,[(776,226)(279,226)])
}
Add(LineBreak,11956720,735,84)
{
Caption="cl"
link(Out,851710:doClear,[])
Primary=[6626142,-511,84]
}
Add(IntegerArray,1664219,882,77)
{
@Hint=#6:Высоты|
IntArray=[]
AddHint(-16,-29,55,13,@Hint)
}
Add(ArrayRW,4231421,819,245)
{
link(Array,12860788:getVar,[])
link(Value,2547750:Var3,[(839,159)])
}
Add(LineBreak,10176923,840,91)
{
Caption="cl"
link(Out,1664219:doClear,[])
Primary=[8370428,-616,84]
}
Add(LineBreakEx,1611755,756,203)
{
Caption="IS"
Type=2
}
Add(LineBreakEx,7559039,777,112)
{
Caption="IS"
Type=3
link(_Data,851710:Array,[])
}
Add(LineBreakEx,12860788,819,217)
{
Caption="HS"
Type=2
}
Add(LineBreakEx,5952417,882,119)
{
Caption="HS"
Type=3
link(_Data,1664219:Array,[])
}
Add(CableVar,15510110,21,56)
{
Count=3
link(Cable,16101698:Data,[])
}
Add(LineBreakEx,12327106,105,567)
{
Caption="HS"
Type=2
}
Add(ArrayEnum,1838298,105,602)
{
link(onItem,9274200:doCompare,[])
link(onEndEnum,16539140:doClear,[(146,615)(146,573)])
link(Array,12327106:getVar,[])
}
Add(Memory,16539140,154,560)
{
Default=Integer(0)
AddHint(2,-23,21,13,Default)
}
Add(If_else,9274200,154,602)
{
Type=1
link(onTrue,2984601:doCompare,[])
link(onFalse,8763058:doWork3,[(193,615)])
link(Op1,16539140:Value,[])
}
Add(LineBreak,571556,35,84)
{
Caption="mY"
Type=1
link(Data,15510110:Wire3,[])
Primary=[7412628,175,483]
}
Add(If_else,2984601,203,602)
{
Type=2
link(onTrue,1557144:doEvent1,[])
link(onFalse,8763058:doWork2,[(247,615)(247,559)])
link(Op2,7412628:Var,[])
}
Add(ArrayRW,15092897,308,602)
{
link(onRead,16222556:doCompare,[])
link(Array,13831627:getVar,[])
link(Index,14831096:Var1,[(321,548)])
}
Add(LineBreakEx,13831627,308,567)
{
Caption="IS"
Type=2
}
Add(HubEx,8763058,189,553)
{
Angle=2
link(onEvent,16539140:doValue,[(147,559)(147,566)])
}
Add(Hub,1557144,280,602)
{
link(onEvent1,15092897:doRead,[])
link(onEvent2,1838298:doStop,[(307,615)(307,651)(93,651)(93,615)])
}
Add(MST_ArrayRows,14894588,623,560)
{
MSTControl="parent.testTable"
}
Add(MT_MTArrayRW,11157795,623,609)
{
link(onRead,5615754:doGet,[])
link(Array,14894588:Strings,[])
}
Add(For,9226679,539,609)
{
IncludeEnd=1
link(onEvent,11157795:doRead,[])
link(onStop,125369:doEvent1,[])
link(Start,2731308:Value,[])
link(End,15092897:Item,[(552,600)(528,600)(528,666)(314,666)])
}
Add(Memory,2731308,539,560)
{
Default=Integer(0)
AddHint(3,-23,21,13,Default)
}
Add(If_else,16222556,364,602)
{
Type=5
Op2=Integer(0)
link(onTrue,4319442:doEvent1,[(404,608)(404,566)])
link(onFalse,12195159:doWork2,[])
link(Op1,14831096:Var2,[])
AddHint(4,-31,21,13,Op2)
}
Add(GetDataEx,14831096,364,543)
{
Angle=1
link(Data,16585060:Var1,[])
}
Add(ArrayRW,15779171,490,560)
{
link(onRead,2731308:doValue,[])
link(Array,6836507:getVar,[])
}
Add(LineBreakEx,6836507,490,525)
{
Caption="IS"
Type=2
}
Add(Math,9989628,441,560)
{
OpType=1
Op2=1
link(onResult,15779171:doRead,[])
link(Op1,16585060:Var3,[(447,548)])
AddHint(1,-22,30,13,Op2)
}
Add(GetDataEx,16585060,401,543)
{
Angle=2
link(Data,1838298:Index,[(407,680)(118,680)])
}
Add(Hub,4319442,413,560)
{
link(onEvent1,9989628:doOperation,[])
link(onEvent2,12195159:doWork1,[(431,573)])
}
Add(HubEx,12195159,427,609)
{
link(onEvent,9226679:doFor,[])
}
Add(StrList,6559097,763,609)
{
}
Add(Hub,125369,588,616)
{
OutCount=3
link(onEvent1,2731308:doClear,[(608,622)(608,595)(542,595)(542,573)])
link(onEvent2,9453041:doData,[(608,629)(608,671)])
link(onEvent3,6559097:doClear,[(755,636)(755,622)])
}
Add(MT_String,4882649,707,609)
{
link(onResult,6559097:doAdd,[])
}
Add(DoData,9453041,763,665)
{
link(onEventData,16101698:onData,[(965,671)(965,27)])
link(Data,6559097:Text,[])
}
Add(MT_Get,5615754,665,609)
{
link(onData,4882649:doStr,[])
}
Add(InfoTip,12465489,63,497)
{
Info=#39:По массиву высот определяем куда нажали|
Width=190
Height=193
}
Add(InfoTip,6316073,280,497)
{
Info=#55:По массиву индексов определяем с какого по какую строку|
Width=302
Height=200
}
END_SDK
Add(CableData,642165,322,392)
{
Count=3
link(Wire1,15933036:Bitmap,[])
link(Wire2,15933036:Width,[])
link(Wire3,15933036:MouseY,[])
}
Add(Message,11710124,420,350)
{
}

У такого способа на данный момент одна проблема, нет возможности используя штатные компоненты отловить события полос прокрутки (ScrollBar-ов) таблицы. Так что если данные таблицы в окно, то подойдет.
карма: 11

0
Ответов: 8941
Рейтинг: 824
#7: 2025-02-21 14:32:17 ЛС | профиль | цитата
С МТ от nesco никогда не работал, слишком наворочена
А вот на обычной таблице: https://forum.hiasm.com/getfile/39718
карма: 19

0
Разработчик
Ответов: 26223
Рейтинг: 2139
#8: 2025-02-21 19:34:27 ЛС | профиль | цитата
Леонид писал(а):
С МТ от nesco никогда не работал, слишком наворочена

Увы, Леонид. К сожалению, обычная таблица не имеет полноты того функционала, которым обладает МТ.
Но в одном ты действительно прав -- это, похоже, самый навороченный компонент HiAsm. И до сих пор наворачивается, усилиями того же sla8a, например.

Редактировалось 1 раз(а), последний 2025-02-21 19:37:27
карма: 22

0
Ответов: 866
Рейтинг: 186
#9: 2025-02-21 20:39:28 ЛС | профиль | цитата
nesco писал(а):
обычная таблица не имеет полноты того функционала, которым обладает МТ.

Согласен. Даже можно вставить одну таблицу в ячейку другой.

Add(MainForm,2953706,63,84)
{
KeyPreview=1
Point(onMouseDown)
link(onCreate,7372008:doEvent1,[])
}
Add(MTStrTbl,7413872,210,42)
{
Width=506
Height=244
Align=5
Font=[MS Sans Serif,12,0,0,1]
Visible=1
Name="tabl1"
Columns=#1:1|1:2|1:3|
ColorItems=0
Redaction=0
Style=4
Grid=0
}
Add(StrList,3068266,161,42)
{
Strings=#15:Петров;Москва;1|14:Иванов;Минск;2|14:Сидоров;Киев;3|15:Смирнов;Киров;4|16:Малевич;Сидней;5|
Point(doGetIndex)
Point(onGetIndex)
}
Add(StreamConvertor,6018408,161,98)
{
Mode=7
Point(Data)
link(onResult,13312933:doLoadFromStream,[])
link(Data,3068266:Text,[])
}
Add(MST_Load,13312933,210,91)
{
ColNameHeader=1
MSTControl="tabl1"
link(onLoadFromStream,2102730:doColAction,[])
}
Add(MST_ColAction,2102730,266,98)
{
Action=9
Index=-2
MSTControl="tabl1"
}
Add(MTStrTbl,16201825,266,42)
{
Width=506
Height=244
Align=5
Font=[MS Sans Serif,12,0,0,1]
Visible=1
Name="tabl2"
Columns=#1:1|1:2|
ColorItems=0
Redaction=0
Style=4
Grid=0
}
Add(Hub,7372008,112,98)
{
OutCount=3
link(onEvent1,6018408:doConvert,[])
link(onEvent2,6584335:doTabToHTML,[(151,111)(151,146)])
link(onEvent3,16399975:doTabToHTML,[(144,118)(144,216)])
}
Add(MST_HTML,6584335,161,140)
{
TabBorderWeight=0
CellsBorderColor=0
MSTControl="tabl1"
link(onTabToHTML,566886:doAdd,[])
}
Add(MT_Add,566886,210,140)
{
Data=String(Заголовок )
InputMT=1
link(onAdd,10698494:doRowAction,[])
}
Add(MST_RowAction,10698494,266,140)
{
MSTControl="tabl2"
}
Add(MST_HTML,16399975,161,210)
{
MSTControl="tabl2"
link(onTabToHTML,16473157:doReplace,[])
}
Add(Replace,16473157,210,210)
{
SubStr="padding-right: 4px"
DestStr="padding-right: 0px"
link(onReplace,3350971:doFromText,[])
}
Add(WebBrowser,3350971,266,182)
{
Left=235
Top=235
Align=5
KeyPreview=1
WinStyle=1
URL=""
Point(doFromText)
Point(onMouseDown)
Point(Handle)
}

Webbrowser что-то не выдаёт событий onMouseXXX
карма: 18

0
Ответов: 8941
Рейтинг: 824
#10: 2025-02-21 22:10:25 ЛС | профиль | цитата
Сейчас до Базы Данных дойдём, там такие вещи одной строкой решаются
карма: 19

0
Ответов: 145
Рейтинг: 0
#11: 2025-02-22 09:07:11 ЛС | профиль | цитата
Ухты, спасибо за предложенные варианты! Не думал, что это окажется настолько объемно по схеме...

Леонид писал(а):
Сейчас до Базы Данных дойдём, там такие вещи одной строкой решаются


Заинтриговали, Леонид...

--- Добавлено в 2025-02-22 09:11:19

sla8a писал(а):
Подержите мое пиво

Красава Слава) /Так читается ник?/

Редактировалось 2 раз(а), последний 2025-02-22 09:13:43
карма: 0

0
Ответов: 145
Рейтинг: 0
#12: 2025-02-25 03:06:59 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
Width=1001
Height=485
}
Add(ChildGroupBox,2512554,112,105)
{
}
BEGIN_SDK
Add(EditMulti,7408359,21,21)
{
Width=804
Height=599
}
Add(GroupBox,14337196,35,105)
{
Width=985
Height=446
Align=5
Caption="История работ"
}
Add(MTStrTbl,11419602,504,343)
{
Left=2
Top=15
Width=920
Height=409
Font=[MS Sans Serif,12,0,0,1]
Name="testTable"
Columns=#9:name1=150|9:name2=100|9:name3=100|8:name4=50|8:name5=75|
Style=4
Grid=0
Point(Handle)
}
Add(StrList,3068266,350,175)
{
Strings=#34:Администрация;Петров;Москва;56;777|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|34:Администрация;Петров;Москва;56;777|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|34:Администрация;Петров;Москва;56;777|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|
Point(doLoad)
}
Add(MT_String,9368895,406,224)
{
link(onResult,11529294:doRowAction,[])
}
Add(ArrayEnum,924678,364,238)
{
link(onItem,9368895:doMTString,[])
link(Array,3068266:Array,[])
}
Add(MST_RowAction,11529294,448,224)
{
MSTControl="testTable"
}
Add(SetParent,2235133,469,392)
{
link(Handle,15933036:Handle,[])
link(NewParent,11419602:Handle,[(482,384)(538,384)])
}
Add(Hub,9364156,294,231)
{
OutCount=5
link(onEvent2,924678:doEnum,[])
link(onEvent3,2235133:doSetParent,[(388,251)(388,398)])
link(onEvent4,8415824:doColAction,[(336,258)(336,314)])
link(onEvent5,15933036:doRefresh,[(378,265)(378,307)])
}
Add(MST_ColAction,8415824,364,308)
{
Action=10
MSTControl="testTable"
link(onResult,10871219:doSeparateMT,[])
}
Add(MT_MultiData,10871219,406,322)
{
From=2
Count=1
link(onData1,15933036:doWidth,[(443,328)(443,321)])
}
Add(MultiElementEx,862705,504,301)
{
link(onData,11710124:doMessage,[])
link(Data,642165:Cable,[(510,289)(489,289)(489,365)(454,365)])
}
BEGIN_SDK
Add(EditMultiEx,16101698,21,21)
{
WorkCount=#6:doDraw|11:doMouseDown|
EventCount=#6:onData|
DataCount=#4:Data|
Width=986
Height=697
link(doDraw,5906303:doEvent1,[(171,27)(171,146)])
link(doMouseDown,1838298:doEnum,[(95,34)(95,608)])
}
Add(Img_Edge,6159473,497,434)
{
link(onDraw,10632373:doDraw,[])
link(Bitmap,4308052:getVar,[])
link(Point1,14182416:Var2,[])
link(Point2,11477432:Var1,[(517,369)])
}
Add(LineBreakEx,4308052,497,392)
{
Caption="bmp"
Type=2
}
Add(Img_TextInRect,10632373,546,434)
{
Font=[MS Sans Serif,12,0,0,1]
OffsetLeft=4
Alignvertical=2
link(onDraw,7493905:doValue,[(601,440)(601,174)])
link(Bitmap,4674398:getVar,[])
link(Text,11062118:Var2,[])
link(Point1,14182416:Var3,[(566,362)])
link(Point2,11477432:Var2,[])
}
Add(LineBreakEx,4674398,546,392)
{
Caption="bmp"
Type=2
}
Add(MST_ArrayRows,2276481,266,133)
{
MSTControl="parent.testTable"
}
Add(MT_MultiData,16707922,308,182)
{
Count=1
link(onData1,3415084:doEvent1,[])
}
Add(MT_MTArrayEnum,8015133,266,182)
{
link(onItem,16707922:doSeparateMT,[])
link(onEndEnum,2622780:doEvent2,[(305,195)(305,468)])
link(Array,2276481:Strings,[])
}
Add(LineBreakEx,9669269,567,280)
{
Caption="w"
Type=2
}
Add(Memory,11537028,553,182)
{
Default=String(?)
AddHint(-5,-47,31,13,Default)
}
Add(Memory,7493905,637,168)
{
Default=Integer(0)
Point(Data)
link(Data,2547750:Var1,[(643,159)])
AddHint(0,-27,21,13,Default)
}
Add(MST_UseEditCtrl,949318,350,42)
{
MSTControl="parent.testTable"
Point(doClientRect)
Point(onClientRect)
link(onClientRect,1429580:doValue,[])
}
Add(If_else,7471250,385,182)
{
Op2=String(?)
link(onTrue,11571070:doWork2,[])
link(onFalse,8830720:doCompare,[])
link(Op1,2665160:Var1,[(391,170)])
AddHint(-1,-47,31,13,Op2)
}
Add(GetDataEx,11062118,553,217)
{
link(Data,11537028:Value,[])
}
Add(Hub,3415084,350,182)
{
link(onEvent1,7471250:doCompare,[])
link(onEvent2,4012070:doCalc,[(381,195)(381,125)])
}
Add(Hub,2622780,434,455)
{
InCount=2
OutCount=4
link(onEvent1,10685586:doCalc,[(476,461)(476,321)])
link(onEvent2,6159473:doDraw,[(486,468)(486,440)])
link(onEvent3,2896120:doAdd,[(743,475)(743,258)])
link(onEvent4,4231421:doAdd,[(806,482)(806,265)])
}
Add(MathParse,10685586,504,315)
{
DataCount=1
MathStr="%1 *65536"
link(onResult,11117395:doCalc,[])
link(X1,7493905:Value,[(510,268)(643,268)])
}
Add(MathParse,11117395,567,315)
{
MathStr="%1 + %2 *65536"
link(X1,9669269:getVar,[])
link(X2,2547750:Var2,[(580,299)(678,299)])
}
Add(Hub,5906303,196,140)
{
OutCount=7
link(onEvent1,949318:doClientRect,[(217,146)(217,55)])
link(onEvent2,10252066:In,[])
link(onEvent3,9732778:In,[])
link(onEvent4,15596901:In,[])
link(onEvent5,6626142:In,[])
link(onEvent6,8370428:In,[])
link(onEvent7,8015133:doEnum,[])
}
Add(MT_MultiMem,1429580,672,70)
{
From=3
Count=1
}
Add(GetDataEx,14182416,504,357)
{
link(Data,10685586:Result,[])
}
Add(GetDataEx,11477432,567,364)
{
link(Data,11117395:Result,[])
}
Add(GetDataEx,2547750,672,154)
{
link(Data,4012070:Result,[])
}
Add(If_else,8830720,434,189)
{
link(onFalse,4664640:doEvent1,[])
link(Op2,2665160:Var2,[])
}
Add(GetDataEx,2665160,441,165)
{
Angle=1
link(Data,11062118:Var1,[(546,170)(546,222)])
}
Add(Hub,4664640,476,196)
{
link(onEvent1,2622780:doEvent1,[(503,202)(503,254)(408,254)(408,461)])
link(onEvent2,11571070:doWork3,[(508,209)])
}
Add(HubEx,11571070,504,182)
{
link(onEvent,11537028:doValue,[])
}
Add(MathParse,4012070,672,119)
{
DataCount=1
MathStr="%0 + %1 + 1"
Default=1
Point(doClear)
link(X1,1429580:Value1,[])
}
Add(LineBreak,13070362,630,126)
{
Caption="cl"
link(Out,4012070:doClear,[])
Primary=[10252066,-406,21]
}
Add(LineBreak,8469955,511,189)
{
Caption="cl"
link(Out,11537028:doClear,[])
Primary=[9732778,-287,-35]
}
Add(LineBreak,8359829,595,175)
{
Caption="cl"
link(Out,7493905:doClear,[])
Primary=[15596901,-371,-14]
}
Add(LineBreakEx,1385560,21,112)
{
Caption="bmp"
Type=3
link(_Data,15510110:Wire1,[])
}
Add(LineBreakEx,10454381,28,98)
{
Caption="w"
Type=3
link(_Data,15510110:Wire2,[])
}
Add(IntegerArray,851710,777,70)
{
@Hint=#7:Индексы|
IntArray=[]
AddHint(-3,-23,61,13,@Hint)
}
Add(ArrayRW,2896120,756,238)
{
link(Array,1611755:getVar,[])
link(Value,8015133:Index,[(776,226)(279,226)])
}
Add(LineBreak,6405189,735,84)
{
Caption="cl"
link(Out,851710:doClear,[])
Primary=[6626142,-511,84]
}
Add(IntegerArray,1664219,882,77)
{
@Hint=#6:Высоты|
IntArray=[]
AddHint(-16,-29,55,13,@Hint)
}
Add(ArrayRW,4231421,819,245)
{
link(Array,12860788:getVar,[])
link(Value,2547750:Var3,[(839,159)])
}
Add(LineBreak,1691029,840,91)
{
Caption="cl"
link(Out,1664219:doClear,[])
Primary=[8370428,-616,84]
}
Add(LineBreakEx,1611755,756,203)
{
Caption="IS"
Type=2
}
Add(LineBreakEx,7559039,777,112)
{
Caption="IS"
Type=3
link(_Data,851710:Array,[])
}
Add(LineBreakEx,12860788,819,217)
{
Caption="HS"
Type=2
}
Add(LineBreakEx,5952417,882,119)
{
Caption="HS"
Type=3
link(_Data,1664219:Array,[])
}
Add(CableVar,15510110,21,56)
{
Count=3
link(Cable,16101698:Data,[])
}
Add(LineBreakEx,12327106,105,567)
{
Caption="HS"
Type=2
}
Add(ArrayEnum,1838298,105,602)
{
link(onItem,9274200:doCompare,[])
link(onEndEnum,16539140:doClear,[(146,615)(146,573)])
link(Array,12327106:getVar,[])
}
Add(Memory,16539140,154,560)
{
Default=Integer(0)
AddHint(2,-23,21,13,Default)
}
Add(If_else,9274200,154,602)
{
Type=1
link(onTrue,2984601:doCompare,[])
link(onFalse,8763058:doWork3,[(193,615)])
link(Op1,16539140:Value,[])
}
Add(LineBreak,896413,35,84)
{
Caption="mY"
Type=1
link(Data,15510110:Wire3,[])
Primary=[7412628,175,483]
}
Add(If_else,2984601,203,602)
{
Type=2
link(onTrue,1557144:doEvent1,[])
link(onFalse,8763058:doWork2,[(247,615)(247,559)])
link(Op2,7412628:Var,[])
}
Add(ArrayRW,15092897,308,602)
{
link(onRead,16222556:doCompare,[])
link(Array,13831627:getVar,[])
link(Index,14831096:Var1,[(321,548)])
}
Add(LineBreakEx,13831627,308,567)
{
Caption="IS"
Type=2
}
Add(HubEx,8763058,189,553)
{
Angle=2
link(onEvent,16539140:doValue,[(147,559)(147,566)])
}
Add(Hub,1557144,280,602)
{
link(onEvent1,15092897:doRead,[])
link(onEvent2,1838298:doStop,[(307,615)(307,651)(93,651)(93,615)])
}
Add(MST_ArrayRows,14894588,623,560)
{
MSTControl="parent.testTable"
}
Add(MT_MTArrayRW,11157795,623,609)
{
link(onRead,5615754:doGet,[])
link(Array,14894588:Strings,[])
}
Add(For,9226679,539,609)
{
IncludeEnd=1
link(onEvent,11157795:doRead,[])
link(onStop,125369:doEvent1,[])
link(Start,2731308:Value,[])
link(End,15092897:Item,[(552,600)(528,600)(528,666)(314,666)])
}
Add(Memory,2731308,539,560)
{
Default=Integer(0)
AddHint(3,-23,21,13,Default)
}
Add(If_else,16222556,364,602)
{
Type=5
Op2=Integer(0)
link(onTrue,4319442:doEvent1,[(404,608)(404,566)])
link(onFalse,12195159:doWork2,[])
link(Op1,14831096:Var2,[])
AddHint(4,-31,21,13,Op2)
}
Add(GetDataEx,14831096,364,543)
{
Angle=1
link(Data,16585060:Var1,[])
}
Add(ArrayRW,15779171,490,560)
{
link(onRead,2731308:doValue,[])
link(Array,6836507:getVar,[])
}
Add(LineBreakEx,6836507,490,525)
{
Caption="IS"
Type=2
}
Add(Math,9989628,441,560)
{
OpType=1
Op2=1
link(onResult,15779171:doRead,[])
link(Op1,16585060:Var3,[(447,548)])
AddHint(1,-22,30,13,Op2)
}
Add(GetDataEx,16585060,401,543)
{
Angle=2
link(Data,1838298:Index,[(407,680)(118,680)])
}
Add(Hub,4319442,413,560)
{
link(onEvent1,9989628:doOperation,[])
link(onEvent2,12195159:doWork1,[(431,573)])
}
Add(HubEx,12195159,427,609)
{
link(onEvent,9226679:doFor,[])
}
Add(StrList,6559097,763,609)
{
}
Add(Hub,125369,588,616)
{
OutCount=3
link(onEvent1,2731308:doClear,[(608,622)(608,595)(542,595)(542,573)])
link(onEvent2,9453041:doData,[(608,629)(608,671)])
link(onEvent3,6559097:doClear,[(755,636)(755,622)])
}
Add(MT_String,4882649,707,609)
{
link(onResult,6559097:doAdd,[])
}
Add(DoData,9453041,763,665)
{
link(onEventData,16101698:onData,[(965,671)(965,27)])
link(Data,6559097:Text,[])
}
Add(MT_Get,5615754,665,609)
{
link(onData,4882649:doStr,[])
}
Add(InfoTip,12465489,63,497)
{
Info=#39:По массиву высот определяем куда нажали|
Width=190
Height=193
}
Add(InfoTip,6316073,280,497)
{
Info=#55:По массиву индексов определяем с какого по какую строку|
Width=302
Height=200
}
END_SDK
Add(CableData,642165,448,343)
{
Count=3
link(Wire1,15933036:Bitmap,[])
link(Wire2,15933036:Width,[])
link(Wire3,15933036:MouseY,[])
}
Add(Message,11710124,574,301)
{
}
Add(Timer,7051490,231,231)
{
Interval=50
AutoStop=1
link(onTimer,9364156:doEvent1,[])
}
Add(PaintBox,15933036,448,301)
{
Width=0
Height=443
Align=1
ClearBeforeDraw=0
Point(doWidth)
Point(Width)
Point(onMouseDown)
Point(MouseY)
Point(Handle)
link(onBeforeDraw,862705:doDraw,[])
link(onMouseDown,862705:doMouseDown,[])
}
END_SDK

Кнопки, те что слева не прокручиваются скролл-баром. Подскажите как сделать, плиз.
И еще пожелание: можно ли сделать чтоб линии начала кнопки и конца проходила по всем столбцам, чтоб понятнее было визуально, а то на каком нибудь 10 столбце наверняка будет не понятно
карма: 0

0
Ответов: 2324
Рейтинг: 681
#13: 2025-02-25 11:49:44 ЛС | профиль | цитата
Gitarist, ты уж сразу определись с хотелками, а то вначале одно, потом другое. Вот добавил рисование кнопок при прокрутке по вертикали. Но на данный момент нужно еще изменить выдачу данных при нажатии на обрезанную сверху кнопку (выдает больше строк), но это уже самостоятельно попробуй доработать.

Add(MainForm,748677,231,133)
{
Width=1001
Height=485
Position=1
}
Add(ChildGroupBox,2512554,322,133)
{
}
BEGIN_SDK
Add(EditMulti,7408359,21,21)
{
Width=804
Height=599
}
Add(GroupBox,14337196,35,105)
{
Width=985
Height=446
Align=5
Caption="История работ"
}
Add(MTStrTbl,11419602,441,308)
{
Left=2
Top=15
Width=920
Height=409
Font=[MS Sans Serif,12,0,0,1]
Name="testTable"
Columns=#9:name1=150|9:name2=100|9:name3=100|8:name4=50|8:name5=75|
Style=4
Grid=0
Point(Handle)
Point(onMouseWheel)
Point(onEraseBkgnd)
Point(TopItem)
Point(PerPage)
link(onEraseBkgnd,1307653:doWork1,[(526,349)(526,214)(375,214)])
}
Add(StrList,3068266,280,119)
{
Strings=#34:Администрация;Петров;Москва;56;777|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|34:Администрация;Петров;Москва;56;777|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|34:Администрация;Петров;Москва;56;777|29:Администрация;Иванов;Минск;49|28:Пользователи;Сидоров;Киев;26|29:Пользователи;Смирнов;Киров;36|30:Пользователи;Малевич;Сидней;27|26:Гости;Гзбыштнев;Варшава;34|25:Гости;Волайтос;Вильнус;53|22:Гости;Портос;Мадрид;62|21:Гости;Арамис;Париж;63|
Point(doLoad)
}
Add(MT_String,9368895,336,168)
{
link(onResult,11529294:doRowAction,[])
}
Add(ArrayEnum,924678,294,182)
{
link(onItem,9368895:doMTString,[])
link(Array,3068266:Array,[])
}
Add(MST_RowAction,11529294,378,168)
{
MSTControl="testTable"
}
Add(SetParent,2235133,406,406)
{
link(Handle,15933036:Handle,[])
link(NewParent,11419602:Handle,[(419,395)(475,395)])
}
Add(Hub,9364156,224,175)
{
OutCount=5
link(onEvent2,924678:doEnum,[])
link(onEvent3,2235133:doSetParent,[(318,195)(318,412)])
link(onEvent4,8415824:doColAction,[(266,202)(266,258)])
link(onEvent5,1307653:doWork2,[(308,209)(308,251)])
}
Add(MST_ColAction,8415824,294,252)
{
Action=10
MSTControl="testTable"
link(onResult,10871219:doSeparateMT,[])
}
Add(MT_MultiData,10871219,336,266)
{
From=2
Count=1
link(onData1,15933036:doWidth,[(373,272)(373,265)])
}
Add(MultiElementEx,862705,441,245)
{
link(onData,11710124:doMessage,[])
link(Data,642165:Cable,[(447,233)(426,233)(426,309)(391,309)])
link(TableData,11350964:Cable,[(454,235)(508,235)(508,388)(482,388)])
}
BEGIN_SDK
Add(EditMultiEx,16101698,21,21)
{
WorkCount=#6:doDraw|11:doMouseDown|
EventCount=#6:onData|
DataCount=#4:Data|9:TableData|
Width=986
Height=697
link(doDraw,5906303:doEvent1,[(72,27)(72,146)])
link(doMouseDown,1838298:doEnum,[(69,34)(69,608)])
}
Add(Img_Edge,6159473,490,378)
{
link(onDraw,10632373:doDraw,[])
link(Bitmap,4308052:getVar,[])
link(Point1,14182416:Var2,[])
link(Point2,11477432:Var1,[(510,334)])
}
Add(LineBreakEx,4308052,490,350)
{
Caption="bmp"
Type=2
}
Add(Img_TextInRect,10632373,539,378)
{
Font=[MS Sans Serif,12,0,0,1]
OffsetLeft=4
Alignvertical=2
link(onDraw,7493905:doValue,[(594,384)(594,174)])
link(Bitmap,4674398:getVar,[])
link(Text,11062118:Var2,[])
link(Point1,14182416:Var3,[(559,327)])
link(Point2,11477432:Var2,[])
}
Add(LineBreakEx,4674398,539,350)
{
Caption="bmp"
Type=2
}
Add(MST_ArrayRows,2276481,266,126)
{
MSTControl="parent.testTable"
}
Add(MT_MultiData,16707922,308,182)
{
Count=1
link(onData1,3415084:doEvent1,[])
}
Add(LineBreakEx,9669269,560,245)
{
Caption="w"
Type=2
}
Add(Memory,11537028,546,182)
{
Default=String(?)
AddHint(-5,-47,31,13,Default)
}
Add(Memory,7493905,630,168)
{
Default=Integer(0)
Point(Data)
link(Data,2547750:Var1,[(636,159)])
AddHint(0,-27,21,13,Default)
}
Add(MST_UseEditCtrl,949318,616,49)
{
MSTControl="parent.testTable"
Point(doClientRect)
Point(onClientRect)
link(onClientRect,1429580:doValue,[])
}
Add(If_else,7471250,378,182)
{
Op2=String(?)
link(onTrue,11571070:doWork2,[])
link(onFalse,8830720:doCompare,[])
link(Op1,2665160:Var1,[(384,170)])
AddHint(-1,-47,31,13,Op2)
}
Add(GetDataEx,11062118,546,217)
{
link(Data,11537028:Value,[])
}
Add(Hub,3415084,350,182)
{
link(onEvent1,7471250:doCompare,[])
link(onEvent2,4012070:doCalc,[(372,195)(372,125)])
}
Add(Hub,2622780,427,399)
{
InCount=2
OutCount=4
link(onEvent1,10685586:doCalc,[(469,405)(469,286)])
link(onEvent2,6159473:doDraw,[(479,412)(479,384)])
link(onEvent3,2896120:doAdd,[(680,419)(680,258)])
link(onEvent4,4231421:doAdd,[(729,426)(729,258)])
}
Add(MathParse,10685586,497,280)
{
DataCount=1
MathStr="%1 *65536"
link(onResult,11117395:doCalc,[])
link(X1,7493905:Value,[(503,240)(636,240)])
}
Add(MathParse,11117395,560,280)
{
MathStr="%1 + %2 *65536"
link(X1,9669269:getVar,[])
link(X2,2547750:Var2,[(573,271)(671,271)])
}
Add(Hub,5906303,77,140)
{
OutCount=7
link(onEvent1,949318:doClientRect,[(138,146)(138,62)])
link(onEvent2,10252066:In,[])
link(onEvent3,9732778:In,[])
link(onEvent4,15596901:In,[])
link(onEvent5,6626142:In,[])
link(onEvent6,8370428:In,[])
link(onEvent7,16161963:doOperation,[])
}
Add(MT_MultiMem,1429580,665,77)
{
From=3
Count=1
}
Add(GetDataEx,14182416,497,322)
{
link(Data,10685586:Result,[])
}
Add(GetDataEx,11477432,560,329)
{
link(Data,11117395:Result,[])
}
Add(GetDataEx,2547750,665,154)
{
link(Data,4012070:Result,[])
}
Add(If_else,8830720,427,189)
{
link(onFalse,4664640:doEvent1,[])
link(Op2,2665160:Var2,[])
}
Add(GetDataEx,2665160,434,165)
{
Angle=1
link(Data,11062118:Var1,[(539,170)(539,222)])
}
Add(Hub,4664640,469,196)
{
link(onEvent1,2622780:doEvent1,[(489,202)(489,236)(401,236)(401,405)])
link(onEvent2,11571070:doWork3,[(501,209)])
}
Add(HubEx,11571070,497,182)
{
link(onEvent,11537028:doValue,[])
}
Add(MathParse,4012070,665,119)
{
DataCount=1
MathStr="%0 + %1 + 1"
Default=1
Point(doClear)
link(X1,1429580:Value1,[])
}
Add(LineBreak,5942016,623,126)
{
Caption="cl"
link(Out,4012070:doClear,[])
Primary=[10252066,-518,21]
}
Add(LineBreak,6460539,504,189)
{
Caption="cl"
link(Out,11537028:doClear,[])
Primary=[9732778,-399,-35]
}
Add(LineBreak,8983107,588,175)
{
Caption="cl"
link(Out,7493905:doClear,[])
Primary=[15596901,-483,-14]
}
Add(LineBreakEx,1385560,21,112)
{
Caption="bmp"
Type=3
link(_Data,15510110:Wire1,[])
}
Add(LineBreakEx,10454381,28,98)
{
Caption="w"
Type=3
link(_Data,15510110:Wire2,[])
}
Add(IntegerArray,851710,770,70)
{
@Hint=#7:Индексы|
IntArray=[]
AddHint(-3,-23,61,13,@Hint)
}
Add(ArrayRW,2896120,686,238)
{
link(Array,1611755:getVar,[])
link(Value,5507697:Position,[(706,226)(223,226)])
}
Add(LineBreak,5226273,728,84)
{
Caption="cl"
link(Out,851710:doClear,[])
Primary=[6626142,-623,84]
}
Add(IntegerArray,1664219,882,77)
{
@Hint=#6:Высоты|
IntArray=[]
AddHint(-16,-29,55,13,@Hint)
}
Add(ArrayRW,4231421,735,238)
{
link(Array,12860788:getVar,[])
link(Value,2547750:Var3,[(755,159)])
}
Add(LineBreak,13240122,840,91)
{
Caption="cl"
link(Out,1664219:doClear,[])
Primary=[8370428,-735,84]
}
Add(LineBreakEx,1611755,686,203)
{
Caption="IS"
Type=2
}
Add(LineBreakEx,7559039,770,112)
{
Caption="IS"
Type=3
link(_Data,851710:Array,[])
}
Add(LineBreakEx,12860788,735,210)
{
Caption="HS"
Type=2
}
Add(LineBreakEx,5952417,882,119)
{
Caption="HS"
Type=3
link(_Data,1664219:Array,[])
}
Add(CableVar,15510110,21,56)
{
Count=3
link(Cable,16101698:Data,[])
}
Add(LineBreakEx,12327106,105,567)
{
Caption="HS"
Type=2
}
Add(ArrayEnum,1838298,105,602)
{
link(onItem,9274200:doCompare,[])
link(onEndEnum,16539140:doClear,[(146,615)(146,573)])
link(Array,12327106:getVar,[])
}
Add(Memory,16539140,154,560)
{
Default=Integer(0)
AddHint(2,-23,21,13,Default)
}
Add(If_else,9274200,154,602)
{
Type=1
link(onTrue,2984601:doCompare,[])
link(onFalse,8763058:doWork3,[(193,615)])
link(Op1,16539140:Value,[])
}
Add(LineBreak,13305483,35,84)
{
Caption="mY"
Type=1
link(Data,15510110:Wire3,[])
Primary=[7412628,175,483]
}
Add(If_else,2984601,203,602)
{
Type=2
link(onTrue,1557144:doEvent1,[])
link(onFalse,8763058:doWork2,[(247,615)(247,559)])
link(Op2,7412628:Var,[])
}
Add(ArrayRW,15092897,308,602)
{
link(onRead,16222556:doCompare,[])
link(Array,13831627:getVar,[])
link(Index,14831096:Var1,[(321,548)])
}
Add(LineBreakEx,13831627,308,567)
{
Caption="IS"
Type=2
}
Add(HubEx,8763058,189,553)
{
Angle=2
link(onEvent,16539140:doValue,[(147,559)(147,566)])
}
Add(Hub,1557144,280,602)
{
link(onEvent1,15092897:doRead,[])
link(onEvent2,1838298:doStop,[(307,615)(307,651)(93,651)(93,615)])
}
Add(MST_ArrayRows,14894588,623,560)
{
MSTControl="parent.testTable"
}
Add(MT_MTArrayRW,11157795,623,609)
{
link(onRead,5615754:doGet,[])
link(Array,14894588:Strings,[])
}
Add(For,9226679,539,609)
{
IncludeEnd=1
link(onEvent,11157795:doRead,[])
link(onStop,125369:doEvent1,[])
link(Start,2731308:Value,[])
link(End,15092897:Item,[(552,600)(528,600)(528,666)(314,666)])
}
Add(Memory,2731308,539,560)
{
Default=Integer(0)
AddHint(3,-23,21,13,Default)
}
Add(If_else,16222556,364,602)
{
Type=5
Op2=Integer(0)
link(onTrue,4319442:doEvent1,[(404,608)(404,566)])
link(onFalse,12195159:doWork2,[])
link(Op1,14831096:Var2,[])
AddHint(4,-31,21,13,Op2)
}
Add(GetDataEx,14831096,364,543)
{
Angle=1
link(Data,16585060:Var1,[])
}
Add(ArrayRW,15779171,490,560)
{
link(onRead,2731308:doValue,[])
link(Array,6836507:getVar,[])
}
Add(LineBreakEx,6836507,490,525)
{
Caption="IS"
Type=2
}
Add(Math,9989628,441,560)
{
OpType=1
Op2=1
link(onResult,15779171:doRead,[])
link(Op1,16585060:Var3,[(447,548)])
AddHint(1,-22,30,13,Op2)
}
Add(GetDataEx,16585060,401,543)
{
Angle=2
link(Data,1838298:Index,[(407,680)(118,680)])
}
Add(Hub,4319442,413,560)
{
link(onEvent1,9989628:doOperation,[])
link(onEvent2,12195159:doWork1,[(431,573)])
}
Add(HubEx,12195159,427,609)
{
link(onEvent,9226679:doFor,[])
}
Add(StrList,6559097,763,609)
{
}
Add(Hub,125369,588,616)
{
OutCount=3
link(onEvent1,2731308:doClear,[(608,622)(608,595)(542,595)(542,573)])
link(onEvent2,9453041:doData,[(608,629)(608,671)])
link(onEvent3,6559097:doClear,[(755,636)(755,622)])
}
Add(MT_String,4882649,707,609)
{
link(onResult,6559097:doAdd,[])
}
Add(DoData,9453041,763,665)
{
link(onEventData,16101698:onData,[(965,671)(965,27)])
link(Data,6559097:Text,[])
}
Add(MT_Get,5615754,665,609)
{
link(onData,4882649:doStr,[])
}
Add(InfoTip,12465489,63,497)
{
Info=#39:По массиву высот определяем куда нажали|
Width=190
Height=193
}
Add(InfoTip,6316073,280,497)
{
Info=#55:По массиву индексов определяем с какого по какую строку|
Width=302
Height=200
}
Add(MT_MTArrayRW,6690399,266,182)
{
link(onRead,16707922:doSeparateMT,[])
link(Array,2276481:Strings,[])
}
Add(CableVar,10440256,217,91)
{
link(Cable,16101698:TableData,[(223,44)(34,44)])
}
Add(For,5507697,217,182)
{
IncludeEnd=1
InData=0
link(onEvent,6690399:doRead,[])
link(onStop,2622780:doEvent2,[(254,195)(254,412)])
link(Start,66081:Var2,[])
}
Add(Math,16161963,175,182)
{
link(onResult,5507697:doFor,[])
link(Op1,66081:Var1,[(181,124)])
link(Op2,10440256:Wire2,[(188,166)(230,166)])
}
Add(GetDataEx,66081,217,119)
{
link(Data,10440256:Wire1,[])
}
END_SDK
Add(CableData,642165,385,287)
{
Count=3
link(Wire1,15933036:Bitmap,[])
link(Wire2,15933036:Width,[])
link(Wire3,15933036:MouseY,[])
}
Add(Message,11710124,567,245)
{
}
Add(Timer,7051490,161,175)
{
Interval=50
AutoStop=1
link(onTimer,9364156:doEvent1,[])
}
Add(PaintBox,15933036,385,245)
{
Width=0
Height=443
Align=1
ClearBeforeDraw=0
Point(doWidth)
Point(Width)
Point(onMouseDown)
Point(MouseY)
Point(Handle)
link(onBeforeDraw,862705:doDraw,[])
link(onMouseDown,862705:doMouseDown,[])
}
Add(MST_UseEditCtrl,13720746,644,245)
{
}
Add(HubEx,1307653,371,245)
{
link(onEvent,15933036:doRefresh,[])
}
Add(CableData,11350964,476,364)
{
link(Wire1,11419602:TopItem,[])
link(Wire2,11419602:PerPage,[])
}
END_SDK
Gitarist писал(а):
можно ли сделать чтоб линии начала кнопки и конца проходила по всем столбцам
Так нарисовать все ящейки самостоятельно, как вариант. Как рисовать ячейки уже показано в этой схемах выше.
карма: 11

0
Ответов: 145
Рейтинг: 0
#14: 2025-02-26 09:56:31 ЛС | профиль | цитата
sla8a писал(а):
ты уж сразу определись с хотелками, а то вначале одно, потом другое

Перечитал себя.. противоречий не нашел..
sla8a писал(а):
но это уже самостоятельно попробуй доработать.

ууу, это похоже мне не под силу, на данный момент не могу разобраться в схеме, здоровенная. Думал там как то несложно можно сделать, как в excell, а тут тебе пришлось целый огород городить, кнопки выдумывать какие то. Будем пользоваться как есть. Все равно, спасибо огромное за схему, за твой труд.

Редактировалось 1 раз(а), последний 2025-02-26 09:57:19
карма: 0

0
Разработчик
Ответов: 26223
Рейтинг: 2139
#15: 2025-02-26 17:19:09 ЛС | профиль | цитата
А не проще ли было сделать мультитабличный вариант? Он бы точно решил все хотелки ТС. Это так, мысли вслух. Мне аж интересно стало. Если выкрою время, то попробую сделать.
карма: 22

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