Как прорисовать все линии сразу, а не поочереди?
------------ Дoбавленo в 12.38:
схему то...
Add(PaintBox,9343800,630,203)
{
Width=747
Height=403
Align=5
Color=-16777194
ClearBeforeDraw=0
link(onBeforeDraw,12522246:doDraw,[(674,209)(674,244)(618,244)(618,314)])
}
Add(ChildPanelEx,11247141,315,112)
{
Mode=1
link(onMove,9468384:doSplit,[(408,118)(408,55)])
link(onClick,8688410:doEvent1,[])
link(Str1,11247141:##eventIndex,[(321,100)(328,100)(328,156)(335,156)])
link(Str2,11247141:Point,[(328,100)(310,100)(310,176)(321,176)])
link(onTimer,9343800:doRefresh,[(361,139)(361,209)])
}
BEGIN_SDK
Add(EditMultiEx,3429066,21,21)
{
WorkCount=#5:##add|
EventCount=#6:onMove|7:onClick|11:onEventData|7:onTimer|
VarCount=#5:Point|7:##index|12:##eventIndex|
DataCount=#4:Str1|4:Str2|
Width=594
Point(##add)
Point(##index)
Point(##eventIndex)
link(##add,12171524:doEvent1,[])
}
Add(Panel,684211,21,77)
{
Top=25
Width=116
Color=-16777214
Point(onMove)
Point(Left)
Point(Top)
Point(Handle)
Point(onMouseDown)
link(onMove,15719608:doWork2,[])
link(onMouseDown,8901462:doEvent1,[(131,97)(131,139)])
}
Add(PointXY,16066872,21,154)
{
link(X,684211:Left,[])
link(Y,684211:Top,[])
}
Add(FormatStr,15657131,217,84)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,3429066:onMove,[(353,90)(353,27)])
link(Str1,7101068:Var2,[])
link(Str2,16066872:Point,[(230,61)(91,61)(91,200)(27,200)])
link(Str3,6430616:Value,[])
}
Add(Label,2516854,476,105)
{
Left=90
Top=15
Width=15
Caption="+"
link(onClick,16323630:doData,[])
}
Add(DoData,16323630,539,105)
{
link(onEventData,3429066:onClick,[(579,111)(579,34)])
link(Data,7101068:Var3,[(545,68)])
}
Add(GetDataEx,7101068,217,63)
{
link(Data,3429066:Str1,[(223,52)(27,52)])
}
Add(Memory,6430616,231,21)
{
Default=Integer(-1)
link(onData,15719608:doWork1,[(275,27)(275,57)(186,57)])
}
Add(HubEx,15719608,182,84)
{
link(onEvent,15657131:doString,[])
}
Add(Label,8963508,287,28)
{
Left=11
Top=11
}
Add(Hub,12171524,126,21)
{
link(onEvent1,6430616:doValue,[])
link(onEvent2,8963508:doText,[])
}
Add(Timer,9261455,287,133)
{
Interval=30
Enable=1
link(onTimer,3429066:onTimer,[(467,139)(467,48)])
}
Add(Hub,8901462,210,133)
{
OutCount=3
link(onEvent1,9261455:doTimer,[])
link(onEvent2,392482:doMove,[(236,146)(236,167)(170,167)(170,188)])
link(onEvent3,9261455:doStop,[(242,153)(242,146)])
}
Add(MoveWindow,392482,182,182)
{
link(Handle,684211:Handle,[(188,152)(41,152)])
}
END_SDK
Add(MainForm,10363218,105,196)
{
Width=763
Height=441
Position=1
link(onCreate,14404749:doEvent1,[])
}
Add(ArrayEnum,11340014,616,112)
{
link(onItem,12093312:doSplit,[])
link(Array,2127180:Var2,[])
}
Add(ArrayRW,13686682,462,112)
{
link(Array,2127180:Var1,[(468,89)])
link(Index,9468384:Left,[])
link(Value,9468384:Right,[])
}
Add(GetDataEx,2127180,616,84)
{
link(Data,14103537:Strings,[])
}
Add(ArrayRW,9504308,826,112)
{
link(onRead,1261599:doSplit,[])
link(Array,2127180:Var3,[(832,89)])
}
Add(StrPart,12093312,686,112)
{
Char=";"
Point(Left)
Point(Right)
link(onSplit,16450691:doCase,[])
}
Add(Case,16450691,756,112)
{
@Hint=#32:Если нет родителя то нет и линии|
Value=String(-1)
link(onNextCase,9504308:doRead,[])
AddHint(-83,-114,186,13,@Hint)
}
Add(StringTable,14103537,602,21)
{
Left=450
Top=175
Width=280
Height=210
Columns=#12:значение X/Y|15:индекс родителя|
Point(Strings)
}
Add(DoData,12664492,238,98)
{
Data=Integer(-1)
link(onEventData,10565245:doWork2,[])
}
Add(StrPart,9468384,469,49)
{
Char=";"
Point(Left)
Point(Right)
link(onSplit,13686682:doWrite,[(513,55)(513,166)(445,166)(445,125)])
}
Add(Hub,8688410,371,119)
{
OutCount=3
link(onEvent1,10565245:doWork1,[(391,125)(391,93)(303,93)])
link(onEvent2,9135356:doWork2,[])
link(onEvent3,11340014:doEnum,[(501,139)(501,118)])
}
Add(HubEx,10565245,299,98)
{
Angle=1
link(onEvent,11247141:##add,[(303,118)])
}
Add(Hub,14404749,182,210)
{
link(onEvent1,12664492:doData,[(217,216)(217,104)])
link(onEvent2,9135356:doWork3,[(425,223)])
}
Add(HubEx,9135356,421,126)
{
Angle=3
link(onEvent,14103537:doAdd,[(425,27)(493,27)(493,27)])
}
Add(Img_Line,12522246,679,308)
{
Color=255
Point(Point1)
Point(Point2)
link(Bitmap,9343800:Bitmap,[(685,272)(636,272)])
link(Point1,12093312:Left,[])
link(Point2,1261599:Left,[(699,233)(895,233)])
}
Add(StrPart,1261599,889,112)
{
Char=";"
Point(Left)
Point(Right)
}