Вверх ↑
Этот топик читают: Гость
Ответов: 278
Рейтинг: 6
#1: 2010-07-27 22:31:05 ЛС | профиль | цитата
Помогите, хочу чтобы при появлении нового окна не пропадала линия соеденяющая со старым.
схемаcode_19735.txt
------------ Дoбавленo в 21.25:
т.е. не окна а панели.
------------ Дoбавленo в 21.34:
Извиняюсь, я не ту схему выложил...

Add(MainForm,2953706,21,105)
{
Width=606
Height=546
Color=-16777194
Point(Handle)
link(onCreate,14119587:doTimer,[(111,125)(111,300)])
}
Add(ChildPanel,15427267,210,126)
{
}
BEGIN_SDK
Add(EditMulti,10310868,21,21)
{
EventCount=1
VarCount=1
link(Var1,16066872:Point,[(27,207)(41,207)])
}
Add(Panel,684211,35,105)
{
Top=25
Color=-16777215
Point(onMove)
Point(Left)
Point(Top)
Point(Handle)
link(onClick,11672211:doMove,[])
link(onMove,10310868:onEvent1,[(194,118)(194,27)])
}
Add(MoveWindow,11672211,105,105)
{
link(Handle,684211:Handle,[(111,93)(83,93)(83,149)(55,149)])
}
Add(PointXY,16066872,35,161)
{
link(X,684211:Left,[])
link(Y,684211:Top,[])
}
END_SDK
Add(Img_Line,12876887,203,231)
{
Color=255
Point(Point1)
Point(Point2)
link(Bitmap,1799003:Var1,[(209,221)(36,221)(36,338)(225,338)(225,338)])
link(Point1,15427267:Var1,[])
link(Point2,7537205:Var1,[(223,187)])
}
Add(Hub,749959,133,231)
{
link(onEvent1,12876887:doDraw,[])
link(onEvent2,6657212:doLeft,[(364,244)(364,153)])
}
Add(PaintBox,9343800,238,294)
{
Width=590
Height=508
Align=5
Color=-16777194
ClearBeforeDraw=0
link(onBeforeDraw,749959:doEvent1,[(282,300)(282,268)(121,268)(121,237)])
}
Add(Timer,14119587,168,294)
{
Interval=10
Enable=1
link(onTimer,9343800:doRefresh,[])
}
Add(ChildPanel,12396767,294,133)
{
link(onEvent2,6657212:##add,[])
}
BEGIN_SDK
Add(EditMulti,10310868,14,21)
{
EventCount=2
VarCount=2
link(Var1,16066872:Point,[(20,207)(41,207)])
}
Add(Panel,684211,35,105)
{
Left=190
Top=40
Color=-16777215
Point(onMove)
Point(Left)
Point(Top)
Point(Handle)
link(onClick,11672211:doMove,[])
link(onMove,10310868:onEvent1,[(194,118)(194,27)])
}
Add(MoveWindow,11672211,105,105)
{
link(Handle,684211:Handle,[(111,93)(83,93)(83,149)(55,149)])
}
Add(PointXY,16066872,35,161)
{
link(X,684211:Left,[])
link(Y,684211:Top,[])
}
Add(Button,7718971,203,28)
{
Left=15
Top=20
Width=26
Height=15
Caption="+"
link(onClick,10310868:onEvent2,[])
}
END_SDK
Add(ChildPanelEx,6657212,581,140)
{
link(Bitmap,1799003:Var3,[(587,128)(417,128)(417,338)])
link(Point2,7537205:Var3,[(594,128)(639,128)(639,187)])
}
BEGIN_SDK
Add(EditMultiEx,13934842,21,21)
{
WorkCount=#5:##add|6:doLeft|5:doTop|
DataCount=#6:Bitmap|6:Point2|
Point(##add)
link(doLeft,10511174:doDraw,[(140,34)(140,174)])
}
Add(PointXY,16066872,77,105)
{
link(X,684211:Left,[])
link(Y,684211:Top,[])
}
Add(Panel,684211,77,49)
{
Left=295
Top=40
Color=-16777215
Point(onMove)
Point(Left)
Point(Top)
Point(Handle)
link(onClick,11672211:doMove,[])
}
Add(MoveWindow,11672211,147,49)
{
link(Handle,684211:Handle,[(153,37)(125,37)(125,93)(97,93)])
}
Add(Img_Line,10511174,259,168)
{
Color=255
Point(Point1)
Point(Point2)
link(Bitmap,13934842:Bitmap,[(265,94)(27,94)])
link(Point1,16066872:Point,[(272,152)(83,152)])
link(Point2,13934842:Point2,[(279,94)(34,94)])
}
END_SDK
Add(GetDataEx,7537205,294,182)
{
link(Data,12396767:Var1,[])
}
Add(GetDataEx,1799003,238,333)
{
link(Data,9343800:Bitmap,[])
}

------------ Дoбавленo в 22.31:
Прошу оставьте коментарии типа "я не знаю как тебе помочь" или "почитай справку".
Просмотров много, а ответов ни одного.
Никто ничего не понимает в моей схеме?
карма: 0

0
файлы: 1code_19735.txt [3.9KB] [147]
Ответов: 2236
Рейтинг: 676
#2: 2010-07-27 22:37:43 ЛС | профиль | цитата
Вот так можно:code_19737.txt но не уверен что это то что тебе нужно.
карма: 11

0
файлы: 1code_19737.txt [3.6KB] [201]
Ответов: 278
Рейтинг: 6
#3: 2010-07-27 22:43:11 ЛС | профиль | цитата
Да, то что я просил, но ты прав, не помогло.
Хотелось чтобы линии соединяли все новые панели.
карма: 0

0
Ответов: 2236
Рейтинг: 676
#4: 2010-07-27 22:48:40 ЛС | профиль | цитата
igr писал(а):
Хотелось чтобы линии соединяли все новые панели.

Вот поэтому многие и не спешили с ответом. Может так? code_19738.txt
карма: 11

1
файлы: 1code_19738.txt [3.7KB] [201]
Голосовали:igr
Ответов: 278
Рейтинг: 6
#5: 2010-07-28 19:36:34 ЛС | профиль | цитата
То что мне нужно было!!!
Спасибо большое!
------------ Дoбавленo в 19.36:
Ещё одна просьба!
У самого никак не выходит, хочу сделать так чтобы из каждой новой панели можно было делать n-ное число таких же как она, из которых потом тоже можно делать такие же панели. Возможно? Буду очень благодарен.
Может быть проще будет по-другому линии связей рисовать?
карма: 0

0
Ответов: 278
Рейтинг: 6
#6: 2010-08-03 09:14:51 ЛС | профиль | цитата
Никто не знает?!
Не по силам эта задача никому?!
карма: 0

0
Ответов: 2236
Рейтинг: 676
#7: 2010-08-03 18:00:12 ЛС | профиль | цитата
igr, такое сделать возможно. Но за тебя это делать никто не будет. Что у тебя не получается?
карма: 11

0
Ответов: 278
Рейтинг: 6
#8: 2010-08-06 08:28:03 ЛС | профиль | цитата
...чтобы из каждой новой панели можно было делать n-ное число таких же как она, из которых потом тоже можно делать такие же панели....
Связующие линии обырваются. Никак не хотят соединять все панели.
карма: 0

0
Ответов: 2236
Рейтинг: 676
#9: 2010-08-06 13:41:54 ЛС | профиль | цитата
igr писал(а):
чтобы из каждой новой панели можно было делать n-ное число таких же как она

Точка ##add у одной динамической панели сделает любое количество панелей.
igr писал(а):
Связующие линии обрываются. Никак не хотят соединять все панели.

Tебе нужно соединить все созданные панели между собой или провести линии от дочерних к родителям?
Такой способ соединения панелей?
Хранить данные о панелях можешь попробовать к примеру в StrList где индекс строки будет равен индексу панели (у панели ##index). А сама строка будет иметь вид: x,y,i где x и y координаты самой панели, а i индекс родителя этой панели к которой нужно провести линию.
карма: 11

0
файлы: 1tree.jpg [16.1KB] [358]
Ответов: 278
Рейтинг: 6
#10: 2010-08-06 19:46:08 ЛС | профиль | цитата
Спасибо за это большое, есть на форуме знающие люди!!
Только не получается что то с таблицой строк.
На рисунке то что надо! А вот самому сделать- никак.

карма: 0

0
Ответов: 3851
Рейтинг: 159
#11: 2010-08-06 22:11:35 ЛС | профиль | цитата
igr писал(а):
На рисунке то что надо! А вот самому сделать- никак.

это временно ИМХО..
карма: 0
начавший
0
Ответов: 2236
Рейтинг: 676
#12: 2010-08-06 22:54:23 ЛС | профиль | цитата
igr писал(а):
Только не получается что то с таблицей строк.

А мне почему то кажется что ты даже не пытался. Хочешь помощи начни делать сам и выкладывай ту часть схемы где у тебя не получилось. Вот что у тебя не получилось с списком строк? Можно посмотреть?
карма: 11

0
Ответов: 278
Рейтинг: 6
#13: 2010-08-07 09:14:56 ЛС | профиль | цитата
вот тут code_19870.txt
карма: 0

0
файлы: 1code_19870.txt [2.9KB] [144]
Ответов: 2236
Рейтинг: 676
#14: 2010-08-07 16:33:42 ЛС | профиль | цитата
1. У тебя панель со свойствам Standart, а не Dynamic. Первую панель можно создать при создании формы. И у этой панели не будет родителя, поэтому в индекс родителя к примеру (-1).
2. Убери пробелы при формировании строки. (%1 ; %2 ; %3)
3. Читать значения из Таблицы строк можно так:code_19877.txt
4. Тебе скорей всего понадобиться ##eventIndex.
5. Нарисовать линии лучше после добавления перебором не включая таймер. А при перетаскивании запускать таймер который потом отключать: code_19878.txt
карма: 11

1
файлы: 2code_19877.txt [1.8KB] [201], code_19878.txt [876B] [186]
Голосовали:igr
Ответов: 278
Рейтинг: 6
#15: 2010-08-08 12:38:21 ЛС | профиль | цитата
sla8a, спасибо за подсказки!, посмотри пожалуйста, что то не рисуются линии.
Как прорисовать все линии сразу, а не поочереди?
------------ Д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)
}


карма: 0

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