Вверх ↑
Ответов: 2324
Рейтинг: 681
#1: 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