Вверх ↑
Этот топик читают: Гость
Ответов: 250
Рейтинг: 4
#1: 2022-10-15 13:40:18 ЛС | профиль | цитата
как сделать чтоб при добавлении элемента в нее, элемент был в поле зрения, то есть скрол прокручивался в самый низ. я туплю и не как не в курю, была-бы точка максимальная длинна скрола тогда вопросов нет а тут я затупил


Add(ChildPanel,6527287,182,119)
{
link(onEvent1,16063724:doWork1,[])
}
BEGIN_SDK
Add(EditMulti,4366545,119,56)
{
EventCount=1
}
Add(Panel,15046377,210,91)
{
Width=318
Height=30
Align=2
BevelInner=0
}
Add(Button,8833920,312,99)
{
Left=5
Top=5
Font=[Arial,8,0,0,1]
Caption="Add"
link(onClick,4366545:onEvent1,[(392,105)(392,62)])
}
END_SDK
Add(ChildScrollBox,16063724,238,119)
{
@Hint=#15:Спасибо olDjeka|
}
BEGIN_SDK
Add(EditMulti,6395808,168,56)
{
WorkCount=1
Width=335
Height=361
link(doWork1,14088804:doEvent1,[(176,62)(176,90)])
}
Add(ScrollBox,3575537,378,203)
{
Top=30
Width=318
Height=127
Align=5
Point(doSetFocus)
}
Add(ChildPanelEx,12820836,378,84)
{
Mode=1
link(onClick,5664572:doDeferredEvent,[])
link(Text,12820836:##handle,[(384,74)(359,74)(359,127)(384,127)])
link(onMouseWheel,9893551:doCompare,[(423,97)(423,135)(198,135)(198,160)])
}
BEGIN_SDK
Add(EditMultiEx,8038962,189,42)
{
WorkCount=#5:##Add|9:##hdelete|6:doText|
EventCount=#7:onClick|12:onMouseWheel|
VarCount=#8:##handle|
DataCount=#4:Text|
Width=286
Height=214
Point(##Add)
Point(##hdelete)
Point(##handle)
link(##Add,15720799:doText,[(238,48)(238,69)])
link(doText,1986715:doText,[(203,62)(203,188)])
}
Add(Panel,13351110,385,112)
{
Width=326
Height=122
Align=2
BorderWidth=0
Point(Handle)
Point(onMouseWheel)
link(onMouseWheel,8038962:onMouseWheel,[(446,125)(446,55)])
}
Add(Label,15720799,287,63)
{
Left=15
Top=55
link(Text,8038962:Text,[(293,53)(195,53)])
}
Add(DoData,6806243,287,112)
{
link(onEventData,8038962:onClick,[(351,118)(351,48)])
link(Data,15720799:Caption,[])
}
Add(Button,6756008,217,112)
{
Left=220
Top=90
Caption="del"
link(onClick,6806243:doData,[])
}
Add(Label,1986715,217,182)
{
Left=15
Top=90
}
END_SDK
Add(DeferredEvent,5664572,441,84)
{
InData=0
link(onDeferredEvent,12820836:##hdelete,[(487,90)(487,65)(366,65)(366,97)])
}
Add(Hub,14088804,189,84)
{
OutCount=4
link(onEvent1,12820836:##Add,[])
link(onEvent2,3575537:doSetFocus,[(339,97)(339,223)])
link(onEvent3,4187969:doWork1,[(327,104)])
}
Add(Math,13267456,273,154)
{
Op2=32
ResultType=0
link(onResult,4187969:doWork2,[])
link(Op1,5153740:Var2,[(279,142)(352,142)])
}
Add(If_else,9893551,210,154)
{
Type=1
Op2=Integer(0)
link(onTrue,13267456:doOperation,[])
link(onFalse,7005202:doOperation,[(257,167)(257,209)])
}
Add(Math,7005202,273,203)
{
OpType=1
Op2=32
ResultType=0
link(onResult,15979489:doWork2,[])
link(Op1,5153740:Var1,[(279,194)])
}
Add(GetDataEx,5153740,346,189)
{
Angle=2
link(Data,3575537:VPos,[(352,247)(391,247)])
}
Add(HubEx,15979489,323,203)
{
Angle=1
link(onEvent,3575537:doVScroll,[(327,216)])
}
Add(HubEx,4187969,323,154)
{
Angle=1
link(onEvent,15979489:doWork1,[])
}
END_SDK
Add(MainForm,314817,98,77)
{
Width=334
Height=261
Caption=""
Position=1
}

карма: 1

0
Ответов: 987
Рейтинг: 207
#2: 2022-10-15 15:42:11 ЛС | профиль | цитата
ric писал(а):
как сделать чтоб при добавлении элемента в нее, элемент был в поле зрения, то есть скрол прокручивался в самый низ


Add(ChildPanel,6527287,392,119)
{
link(onEvent1,16063724:doWork1,[])
}
BEGIN_SDK
Add(EditMulti,4366545,119,56)
{
EventCount=1
}
Add(Panel,15046377,210,91)
{
Width=318
Height=30
Align=2
BevelInner=0
}
Add(Button,8833920,312,99)
{
Left=5
Top=5
Font=[Arial,8,0,0,1]
Caption="Add"
link(onClick,4366545:onEvent1,[(392,105)(392,62)])
}
END_SDK
Add(ChildScrollBox,16063724,448,119)
{
@Hint=#15:Спасибо olDjeka|
}
BEGIN_SDK
Add(EditMulti,6395808,168,56)
{
WorkCount=1
Width=335
Height=361
link(doWork1,14088804:doEvent1,[(176,62)(176,90)])
}
Add(ScrollBox,3575537,385,147)
{
Top=30
Width=318
Height=127
Align=5
Point(doSetFocus)
}
Add(ChildPanelEx,12820836,378,84)
{
Mode=1
link(onClick,5664572:doDeferredEvent,[])
link(Text,12820836:##handle,[(384,74)(359,74)(359,127)(384,127)])
}
BEGIN_SDK
Add(EditMultiEx,8038962,189,42)
{
WorkCount=#5:##Add|9:##hdelete|6:doText|
EventCount=#7:onClick|12:onMouseWheel|
VarCount=#8:##handle|
DataCount=#4:Text|
Width=286
Height=214
Point(##Add)
Point(##hdelete)
Point(##handle)
link(##Add,15720799:doText,[(238,48)(238,69)])
link(doText,1986715:doText,[(203,62)(203,188)])
}
Add(Panel,13351110,385,112)
{
Width=326
Height=122
Align=2
BorderWidth=0
Point(Handle)
Point(onMouseWheel)
link(onMouseWheel,8038962:onMouseWheel,[(446,125)(446,55)])
}
Add(Label,15720799,287,63)
{
Left=15
Top=55
link(Text,8038962:Text,[(293,53)(195,53)])
}
Add(DoData,6806243,287,112)
{
link(onEventData,8038962:onClick,[(351,118)(351,48)])
link(Data,15720799:Caption,[])
}
Add(Button,6756008,217,112)
{
Left=220
Top=90
Caption="del"
link(onClick,6806243:doData,[])
}
Add(Label,1986715,217,182)
{
Left=15
Top=90
}
END_SDK
Add(DeferredEvent,5664572,441,84)
{
InData=0
link(onDeferredEvent,12820836:##hdelete,[(487,90)(487,65)(366,65)(366,97)])
}
Add(Hub,14088804,189,84)
{
OutCount=5
link(onEvent1,12820836:##Add,[])
link(onEvent2,13267456:doOperation,[(305,97)(305,160)])
}
Add(Math,13267456,315,154)
{
Op2=122
ResultType=0
link(onResult,3575537:doVScroll,[])
link(Op1,13267456:Result,[(321,145)(300,145)(300,194)(321,194)])
}
END_SDK
Add(MainForm,314817,336,119)
{
Width=334
Height=261
Caption=""
Position=1
}

карма: 20

0
Ответов: 2466
Рейтинг: 696
#3: 2022-10-15 16:16:43 ЛС | профиль | цитата
Зачем подсчет, если можно получить данные с Top:

Add(ChildPanel,6527287,483,203)
{
link(onEvent1,16063724:doWork1,[])
}
BEGIN_SDK
Add(EditMulti,4366545,119,56)
{
EventCount=1
}
Add(Panel,15046377,210,91)
{
Width=318
Height=30
Align=2
BevelInner=0
}
Add(Button,8833920,312,99)
{
Left=5
Top=5
Font=[Arial,8,0,0,1]
Caption="Add"
link(onClick,4366545:onEvent1,[(392,105)(392,62)])
}
END_SDK
Add(ChildScrollBox,16063724,539,203)
{
@Hint=#15:Спасибо olDjeka|
}
BEGIN_SDK
Add(EditMulti,6395808,168,56)
{
WorkCount=1
Width=328
Height=214
link(doWork1,14088804:doEvent1,[(176,62)(176,90)])
}
Add(ScrollBox,3575537,350,147)
{
Top=30
Width=318
Height=127
Align=5
Point(doSetFocus)
}
Add(ChildPanelEx,12820836,287,84)
{
Mode=1
link(onClick,5664572:doDeferredEvent,[])
link(Text,12820836:##handle,[(293,74)(268,74)(268,127)(293,127)])
}
BEGIN_SDK
Add(EditMultiEx,8038962,189,42)
{
WorkCount=#5:##Add|9:##hdelete|6:doText|
EventCount=#7:onClick|12:onMouseWheel|
VarCount=#8:##handle|3:Top|
DataCount=#4:Text|
Width=286
Height=214
Point(##Add)
Point(##hdelete)
Point(##handle)
link(##Add,15720799:doText,[(238,48)(238,69)])
link(doText,1986715:doText,[(203,62)(203,188)])
link(Top,13351110:Top,[(202,232)(398,232)])
}
Add(Panel,13351110,385,112)
{
Width=326
Height=122
Align=2
BorderWidth=0
Point(Handle)
Point(onMouseWheel)
Point(Top)
link(onMouseWheel,8038962:onMouseWheel,[(446,125)(446,55)])
}
Add(Label,15720799,287,63)
{
Left=15
Top=55
link(Text,8038962:Text,[(293,53)(195,53)])
}
Add(DoData,6806243,287,112)
{
link(onEventData,8038962:onClick,[(351,118)(351,48)])
link(Data,15720799:Caption,[])
}
Add(Button,6756008,217,112)
{
Left=220
Top=90
Caption="del"
link(onClick,6806243:doData,[])
}
Add(Label,1986715,217,182)
{
Left=15
Top=90
}
END_SDK
Add(DeferredEvent,5664572,350,84)
{
InData=0
link(onDeferredEvent,12820836:##hdelete,[(396,90)(396,65)(275,65)(275,97)])
}
Add(Hub,14088804,189,84)
{
link(onEvent1,12820836:##Add,[])
link(onEvent2,1147358:doData,[(249,97)(249,160)])
}
Add(DoData,1147358,294,154)
{
link(onEventData,3575537:doVScroll,[])
link(Data,12820836:Top,[])
}
END_SDK
Add(MainForm,314817,427,203)
{
Width=334
Height=261
Caption=""
}
карма: 11

0
Ответов: 250
Рейтинг: 4
#4: 2022-10-15 17:50:07 ЛС | профиль | цитата
эти варианты не работают я их пробовал, после второго клика невидно часть понели, и после прокрутки вверх и добавления уже не правильно показывает.
Видео
карма: 1

0
Ответов: 2466
Рейтинг: 696
#5: 2022-10-15 18:28:11 ЛС | профиль | цитата
ric, компилятор FPC?
Попробуйте так:
Add(ChildPanel,6527287,518,168)
{
link(onEvent1,16063724:doWork1,[])
}
BEGIN_SDK
Add(EditMulti,4366545,119,56)
{
EventCount=1
}
Add(Panel,15046377,210,91)
{
Width=318
Height=30
Align=2
BevelInner=0
}
Add(Button,8833920,312,99)
{
Left=5
Top=5
Font=[Arial,8,0,0,1]
Caption="Add"
link(onClick,4366545:onEvent1,[(392,105)(392,62)])
}
END_SDK
Add(ChildScrollBox,16063724,574,168)
{
@Hint=#15:Спасибо olDjeka|
}
BEGIN_SDK
Add(EditMulti,6395808,168,56)
{
WorkCount=1
Width=328
Height=214
link(doWork1,14088804:doEvent1,[(176,62)(176,90)])
}
Add(ScrollBox,3575537,399,147)
{
Top=30
Width=318
Height=127
Align=5
Point(doSetFocus)
}
Add(ChildPanelEx,12820836,287,84)
{
Mode=1
link(onClick,5664572:doDeferredEvent,[])
link(Text,12820836:##handle,[(293,74)(268,74)(268,127)(293,127)])
}
BEGIN_SDK
Add(EditMultiEx,8038962,189,42)
{
WorkCount=#5:##Add|9:##hdelete|6:doText|
EventCount=#7:onClick|12:onMouseWheel|
VarCount=#8:##handle|3:Top|
DataCount=#4:Text|
Width=286
Height=214
Point(##Add)
Point(##hdelete)
Point(##handle)
link(##Add,15720799:doText,[(238,48)(238,69)])
link(doText,1986715:doText,[(203,62)(203,188)])
link(Top,13351110:Top,[(202,232)(398,232)])
}
Add(Panel,13351110,385,112)
{
Width=326
Height=122
Align=2
BorderWidth=0
Point(Handle)
Point(onMouseWheel)
Point(Top)
link(onMouseWheel,8038962:onMouseWheel,[(446,125)(446,55)])
}
Add(Label,15720799,287,63)
{
Left=15
Top=55
link(Text,8038962:Text,[(293,53)(195,53)])
}
Add(DoData,6806243,287,112)
{
link(onEventData,8038962:onClick,[(351,118)(351,48)])
link(Data,15720799:Caption,[])
}
Add(Button,6756008,217,112)
{
Left=220
Top=90
Caption="del"
link(onClick,6806243:doData,[])
}
Add(Label,1986715,217,182)
{
Left=15
Top=90
}
END_SDK
Add(DeferredEvent,5664572,350,84)
{
InData=0
link(onDeferredEvent,12820836:##hdelete,[(396,90)(396,65)(275,65)(275,97)])
}
Add(Hub,14088804,189,84)
{
link(onEvent1,12820836:##Add,[])
link(onEvent2,9287149:doDeferredEvent,[(227,97)(227,160)])
}
Add(DeferredEvent,9287149,294,154)
{
InData=0
Point(Data)
link(onDeferredEvent,3575537:doVScroll,[])
link(Data,12820836:Top,[])
}
END_SDK
Add(MainForm,314817,462,168)
{
Width=334
Height=261
Caption=""
}

Редактировалось 1 раз(а), последний 2022-10-15 18:30:25
карма: 11

0
Ответов: 250
Рейтинг: 4
#6: 2022-10-15 22:13:02 ЛС | профиль | цитата
О так работает, благодарствую
карма: 1

0
Ответов: 10
Рейтинг: 0
#7: 2025-11-12 20:34:37 ЛС | профиль | цитата
Не удастся наверное решить мелкую незадачу попадания на область скроллера мышью, при попытке разделитель двинуть, если на форме пара окон прокрутки выравнены соответственно. Полезно бы обдумать возможный проворот на 90град, положение их интересует сдвинуть (по типу примеров для трансформации графики - но только).
карма: 0

0
Ответов: 987
Рейтинг: 207
#8: 2025-11-12 21:34:22 ЛС | профиль | цитата
Dictor писал(а):
Не удастся наверное решить мелкую незадачу попадания на область скроллера мышью, при попытке разделитель двинуть, если на форме пара окон прокрутки выравнены соответственно. Полезно бы обдумать возможный проворот на 90град, положение их интересует сдвинуть (по типу примеров для трансформации графики - но только).

Русский язык неродной? Уж больно текст сообщения на машинный перевод смахивает.
Не могу понять, что надо повернуть на 90 градусов? Скролл, окно или что-то другое?
Нужна схема для того, чтобы понять в чём проблема

Редактировалось 2 раз(а), последний 2025-11-12 21:55:29
карма: 20

0
Ответов: 2466
Рейтинг: 696
#9: 2025-11-12 23:43:06 ЛС | профиль | цитата
Gunta, могу только предположить что речь идёт о изменении позиций скролбаров, чтоб не слева и снизу, а к примеру вверху и справа.
карма: 11

0
Ответов: 987
Рейтинг: 207
#10: 2025-11-13 06:44:58 ЛС | профиль | цитата
Если

Dictor писал(а):
решить мелкую незадачу попадания на область скроллера мышью, при попытке разделитель двинуть, если на форме пара окон прокрутки выравнены соответственно.



То можно сделать сплиттер любым размером и цветом

Add(MainForm,2953706,133,105)
{
}
Add(ChildScrollBox,10802875,245,105)
{
}
BEGIN_SDK
Add(EditMulti,16152994,21,21)
{
}
Add(ScrollBox,16114459,35,105)
{
Width=190
Height=261
Align=1
ModeSp=1
SizeSp=30
ColorSp=32768
}
Add(Memo,14909209,147,105)
{
Width=280
Height=1000
Font=[Lucida Console,12,0,0,204]
Antialiased=1
Strings=#449:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eu cursus lacus. Vestibulum mollis magna quis sapien porttitor, sed suscipit odio rutrum. Suspendisse porta malesuada dictum. In nibh urna, posuere ac lectus non, egestas feugiat ligula. Morbi nisl lectus, facilisis efficitur libero in, luctus efficitur lorem. Pellentesque euismod metus sed fermentum convallis. Etiam vulputate neque vel sapien tincidunt, sit amet feugiat leo tempus.|910:Aenean molestie quam vitae elit tincidunt, non pretium tortor luctus. Sed quis eleifend sem. Proin augue purus, placerat ac pellentesque vitae, sollicitudin quis lacus. Ut convallis, magna ac pretium vestibulum, ante purus dignissim nibh, ut ornare leo magna ut ipsum. Donec interdum commodo lectus quis venenatis. Vestibulum aliquam, dui et bibendum imperdiet, augue quam tempus augue, ac commodo urna sem ac nunc. Nam massa ligula, condimentum sed suscipit ac, blandit id odio. Sed ultrices venenatis mauris, sit amet eleifend tortor tristique et. Quisque hendrerit ultrices dolor, a vehicula ante vehicula faucibus. Etiam lacinia, dolor a ullamcorper rutrum, dolor ex dapibus ante, sed ultricies risus odio eu nisi. Cras auctor risus turpis, non hendrerit erat ornare vel. Duis maximus, ipsum at varius tempor, urna nunc scelerisque eros, ut luctus lacus arcu quis lectus. Fusce laoreet id urna non sodales.|642:Aliquam erat volutpat. Integer sagittis mauris dui, vel lacinia magna faucibus cursus. Sed vitae scelerisque nunc. Morbi eleifend, nunc euismod viverra pulvinar, velit elit tristique nisl, porta sollicitudin massa neque ac tortor. Donec venenatis nulla faucibus ex hendrerit tincidunt. Nullam condimentum odio mollis scelerisque sagittis. Duis volutpat, magna vel tincidunt vestibulum, quam justo maximus leo, quis convallis tortor diam et nibh. Proin commodo urna sed justo luctus tempor sed fermentum nisi. Fusce malesuada mi in nisl dignissim, sed euismod enim pharetra. Praesent nisi sem, maximus et lacus vel, pellentesque aliquet lorem.|500:Maecenas quis sapien augue. Sed euismod urna ut porttitor pretium. Nunc tristique molestie est, a efficitur elit condimentum non. Nullam tincidunt urna quis ullamcorper finibus. Pellentesque scelerisque sollicitudin mi nec tristique. Vestibulum vitae tellus eget sem sollicitudin imperdiet. Nunc cursus libero eu ante scelerisque tincidunt. Morbi vehicula condimentum leo id fermentum. In fermentum tristique diam non consequat. Vivamus egestas tincidunt urna. Nullam ac ornare elit, id volutpat sem.|568:Donec ut nibh non magna consequat tincidunt eget quis libero. Suspendisse venenatis felis a nulla mollis feugiat. Donec varius condimentum quam. Nulla mattis urna sit amet blandit sollicitudin. Etiam venenatis non justo congue gravida. Integer fringilla ligula ullamcorper metus rutrum, ac finibus nisl sodales. Donec vel nulla rhoncus, facilisis diam sed, efficitur est. Curabitur a neque eu nibh lacinia mollis. Nunc eget magna et felis placerat vehicula vitae eget mauris. In hac habitasse platea dictumst. Nunc accumsan leo a euismod pharetra. Sed at mollis risus.|
ScrollBars=2
}
END_SDK
Add(ChildScrollBox,8135489,294,105)
{
}
BEGIN_SDK
Add(EditMulti,6037043,21,21)
{
}
Add(ScrollBox,13528621,35,105)
{
Left=190
Width=194
Height=261
Align=5
}
Add(Memo,9066960,182,77)
{
Width=280
Height=1000
Font=[Lucida Console,12,0,0,204]
Antialiased=1
Strings=#449:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eu cursus lacus. Vestibulum mollis magna quis sapien porttitor, sed suscipit odio rutrum. Suspendisse porta malesuada dictum. In nibh urna, posuere ac lectus non, egestas feugiat ligula. Morbi nisl lectus, facilisis efficitur libero in, luctus efficitur lorem. Pellentesque euismod metus sed fermentum convallis. Etiam vulputate neque vel sapien tincidunt, sit amet feugiat leo tempus.|910:Aenean molestie quam vitae elit tincidunt, non pretium tortor luctus. Sed quis eleifend sem. Proin augue purus, placerat ac pellentesque vitae, sollicitudin quis lacus. Ut convallis, magna ac pretium vestibulum, ante purus dignissim nibh, ut ornare leo magna ut ipsum. Donec interdum commodo lectus quis venenatis. Vestibulum aliquam, dui et bibendum imperdiet, augue quam tempus augue, ac commodo urna sem ac nunc. Nam massa ligula, condimentum sed suscipit ac, blandit id odio. Sed ultrices venenatis mauris, sit amet eleifend tortor tristique et. Quisque hendrerit ultrices dolor, a vehicula ante vehicula faucibus. Etiam lacinia, dolor a ullamcorper rutrum, dolor ex dapibus ante, sed ultricies risus odio eu nisi. Cras auctor risus turpis, non hendrerit erat ornare vel. Duis maximus, ipsum at varius tempor, urna nunc scelerisque eros, ut luctus lacus arcu quis lectus. Fusce laoreet id urna non sodales.|642:Aliquam erat volutpat. Integer sagittis mauris dui, vel lacinia magna faucibus cursus. Sed vitae scelerisque nunc. Morbi eleifend, nunc euismod viverra pulvinar, velit elit tristique nisl, porta sollicitudin massa neque ac tortor. Donec venenatis nulla faucibus ex hendrerit tincidunt. Nullam condimentum odio mollis scelerisque sagittis. Duis volutpat, magna vel tincidunt vestibulum, quam justo maximus leo, quis convallis tortor diam et nibh. Proin commodo urna sed justo luctus tempor sed fermentum nisi. Fusce malesuada mi in nisl dignissim, sed euismod enim pharetra. Praesent nisi sem, maximus et lacus vel, pellentesque aliquet lorem.|500:Maecenas quis sapien augue. Sed euismod urna ut porttitor pretium. Nunc tristique molestie est, a efficitur elit condimentum non. Nullam tincidunt urna quis ullamcorper finibus. Pellentesque scelerisque sollicitudin mi nec tristique. Vestibulum vitae tellus eget sem sollicitudin imperdiet. Nunc cursus libero eu ante scelerisque tincidunt. Morbi vehicula condimentum leo id fermentum. In fermentum tristique diam non consequat. Vivamus egestas tincidunt urna. Nullam ac ornare elit, id volutpat sem.|568:Donec ut nibh non magna consequat tincidunt eget quis libero. Suspendisse venenatis felis a nulla mollis feugiat. Donec varius condimentum quam. Nulla mattis urna sit amet blandit sollicitudin. Etiam venenatis non justo congue gravida. Integer fringilla ligula ullamcorper metus rutrum, ac finibus nisl sodales. Donec vel nulla rhoncus, facilisis diam sed, efficitur est. Curabitur a neque eu nibh lacinia mollis. Nunc eget magna et felis placerat vehicula vitae eget mauris. In hac habitasse platea dictumst. Nunc accumsan leo a euismod pharetra. Sed at mollis risus.|
ScrollBars=2
}
END_SDK


Редактировалось 1 раз(а), последний 2025-11-13 07:09:35
карма: 20

0
Ответов: 10
Рейтинг: 0
#11: 2025-11-13 11:01:26 ЛС | профиль | цитата
Машинально еще руки не тянулись к правке компонента, в варианте наложение дочерней формы поверх скроллера. Воображению доступна схема.
карма: 0

0
Ответов: 987
Рейтинг: 207
#12: 2025-11-14 07:23:08 ЛС | профиль | цитата
Dictor писал(а):
Машинально еще руки не тянулись к правке компонента, в варианте наложение дочерней формы поверх скроллера. Воображению доступна схема.

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

Редактировалось 1 раз(а), последний 2025-11-14 07:39:05
карма: 20

0
Ответов: 10
Рейтинг: 0
#13: 2025-11-14 20:09:56 ЛС | профиль | цитата
sla8a писал(а):
Gunta, могу только предположить что речь идёт о изменении позиций скролбаров, чтоб не слева и снизу, а к примеру вверху и справа.

Вот же. Да.
карма: 0

0
Ответов: 987
Рейтинг: 207
#14: 2025-11-15 14:38:23 ЛС | профиль | цитата
Dictor писал(а):
Вот же. Да.



Add(MainForm,2953706,154,105)
{
Position=1
link(onCreate,9059709:doWork1,[])
}
Add(ChildPanel,2483492,273,119)
{
link(onEvent1,3878119:doPosition,[])
link(onEvent2,9059709:doWork2,[(312,132)(312,111)(214,111)(214,132)])
}
BEGIN_SDK
Add(EditMulti,3644378,21,21)
{
EventCount=2
WorkCount=1
link(doWork1,14236714:doMax,[(109,27)(109,83)])
}
Add(Panel,403174,35,105)
{
Width=15
Height=15
Align=2
}
Add(Label,8581858,119,35)
{
Width=15
Align=1
Ctl3D=0
WinStyle=4
Caption=""
AutoSize=1
link(onClick,7624261:doData,[])
}
Add(ScrollBar,14236714,273,70)
{
Width=15
Align=5
Point(doMax)
link(onPosition,3644378:onEvent2,[(312,76)(312,34)])
}
Add(DoData,7624261,168,35)
{
Data=Integer(0)
link(onEventData,12109315:doEvent1,[])
}
Add(Hub,12109315,224,35)
{
OutCount=3
link(onEvent1,3644378:onEvent1,[(249,41)(249,27)])
link(onEvent2,14236714:doPosition,[(263,48)(263,76)])
}
END_SDK
Add(ScrollBar,3878119,329,119)
{
Width=15
Align=1
Page=1
Kind=1
Point(doMax)
link(onPosition,9059709:doWork3,[(368,125)(368,160)(214,160)(214,139)])
}
Add(ChildPanel,9059709,224,119)
{
link(onEvent1,2483492:doWork1,[])
link(onEvent2,3878119:doMax,[(263,132)(263,139)(319,139)(319,132)])
}
BEGIN_SDK
Add(EditMulti,16109423,21,21)
{
EventCount=2
WorkCount=3
Width=489
Height=333
link(doWork2,15287625:doCalc,[(74,34)(74,76)])
link(doWork3,10301951:doCalc,[(67,41)(67,83)])
}
Add(Panel,15839817,161,217)
{
Width=0
Height=0
Align=5
Point(WidthControls)
Point(HeightControls)
link(WidthControls,5102372:GetData,[])
link(HeightControls,12803849:GetData,[])
}
Add(Memo,10555282,189,42)
{
Width=500
Height=1000
Font=[Lucida Console,12,0,0,204]
Antialiased=1
Strings=#449:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eu cursus lacus. Vestibulum mollis magna quis sapien porttitor, sed suscipit odio rutrum. Suspendisse porta malesuada dictum. In nibh urna, posuere ac lectus non, egestas feugiat ligula. Morbi nisl lectus, facilisis efficitur libero in, luctus efficitur lorem. Pellentesque euismod metus sed fermentum convallis. Etiam vulputate neque vel sapien tincidunt, sit amet feugiat leo tempus.|910:Aenean molestie quam vitae elit tincidunt, non pretium tortor luctus. Sed quis eleifend sem. Proin augue purus, placerat ac pellentesque vitae, sollicitudin quis lacus. Ut convallis, magna ac pretium vestibulum, ante purus dignissim nibh, ut ornare leo magna ut ipsum. Donec interdum commodo lectus quis venenatis. Vestibulum aliquam, dui et bibendum imperdiet, augue quam tempus augue, ac commodo urna sem ac nunc. Nam massa ligula, condimentum sed suscipit ac, blandit id odio. Sed ultrices venenatis mauris, sit amet eleifend tortor tristique et. Quisque hendrerit ultrices dolor, a vehicula ante vehicula faucibus. Etiam lacinia, dolor a ullamcorper rutrum, dolor ex dapibus ante, sed ultricies risus odio eu nisi. Cras auctor risus turpis, non hendrerit erat ornare vel. Duis maximus, ipsum at varius tempor, urna nunc scelerisque eros, ut luctus lacus arcu quis lectus. Fusce laoreet id urna non sodales.|642:Aliquam erat volutpat. Integer sagittis mauris dui, vel lacinia magna faucibus cursus. Sed vitae scelerisque nunc. Morbi eleifend, nunc euismod viverra pulvinar, velit elit tristique nisl, porta sollicitudin massa neque ac tortor. Donec venenatis nulla faucibus ex hendrerit tincidunt. Nullam condimentum odio mollis scelerisque sagittis. Duis volutpat, magna vel tincidunt vestibulum, quam justo maximus leo, quis convallis tortor diam et nibh. Proin commodo urna sed justo luctus tempor sed fermentum nisi. Fusce malesuada mi in nisl dignissim, sed euismod enim pharetra. Praesent nisi sem, maximus et lacus vel, pellentesque aliquet lorem.|500:Maecenas quis sapien augue. Sed euismod urna ut porttitor pretium. Nunc tristique molestie est, a efficitur elit condimentum non. Nullam tincidunt urna quis ullamcorper finibus. Pellentesque scelerisque sollicitudin mi nec tristique. Vestibulum vitae tellus eget sem sollicitudin imperdiet. Nunc cursus libero eu ante scelerisque tincidunt. Morbi vehicula condimentum leo id fermentum. In fermentum tristique diam non consequat. Vivamus egestas tincidunt urna. Nullam ac ornare elit, id volutpat sem.|568:Donec ut nibh non magna consequat tincidunt eget quis libero. Suspendisse venenatis felis a nulla mollis feugiat. Donec varius condimentum quam. Nulla mattis urna sit amet blandit sollicitudin. Etiam venenatis non justo congue gravida. Integer fringilla ligula ullamcorper metus rutrum, ac finibus nisl sodales. Donec vel nulla rhoncus, facilisis diam sed, efficitur est. Curabitur a neque eu nibh lacinia mollis. Nunc eget magna et felis placerat vehicula vitae eget mauris. In hac habitasse platea dictumst. Nunc accumsan leo a euismod pharetra. Sed at mollis risus.|
ScrollBars=2
Point(Handle)
Point(Width)
Point(Height)
Point(doLeft)
Point(doTop)
}
Add(MathParse,10301951,140,77)
{
DataCount=1
MathStr="-(%1)"
link(onResult,10555282:doTop,[])
}
Add(MathParse,15287625,84,70)
{
DataCount=1
MathStr="-(%1)"
link(onResult,10555282:doLeft,[])
}
Add(MathParse,13562747,217,126)
{
MathStr="%1 - %2"
ResultType=0
link(onResult,16109423:onEvent1,[(298,132)(298,27)])
link(X1,10555282:Width,[])
}
Add(MathParse,11165895,224,168)
{
MathStr="%1 - %2"
ResultType=0
link(onResult,16109423:onEvent2,[(305,174)(305,34)])
link(X1,10555282:Height,[])
}
Add(EventFromData,12803849,168,168)
{
link(onEvent,11165895:doCalc,[])
}
Add(EventFromData,5102372,161,126)
{
link(onEvent,13562747:doCalc,[])
}
END_SDK

карма: 20

0
Ответов: 10
Рейтинг: 0
#15: 2025-11-17 20:33:30 ЛС | профиль | цитата
Add(ChildPanel,2483492,644,119)
{
link(onEvent1,3878119:doPosition,[])
link(onEvent2,9059709:doWork2,[(704,132)(704,91)(538,91)(538,132)])
link(onEvent3,9059709:doWork1,[(704,139)(704,242)(513,242)(513,125)])
}
BEGIN_SDK
Add(EditMulti,3644378,21,21)
{
EventCount=3
WorkCount=1
Width=559
Height=368
link(doWork1,14236714:doMax,[(73,27)(73,83)])
}
Add(Panel,403174,77,140)
{
Width=15
Height=17
Align=2
WinStyle=1
BevelInner=0
}
Add(Label,8581858,84,35)
{
Width=15
Align=1
Visible=1
Ctl3D=0
WinStyle=4
Caption="AA"
AutoSize=1
link(onClick,11373227:doWork2,[])
}
Add(ScrollBar,14236714,273,70)
{
Width=15
Align=5
Point(doMax)
link(onPosition,3644378:onEvent2,[(312,76)(312,34)])
}
Add(DoData,7624261,168,35)
{
Data=Integer(0)
link(onEventData,12109315:doEvent1,[])
}
Add(Hub,12109315,224,35)
{
InCount=2
OutCount=3
link(onEvent1,3644378:onEvent1,[(249,41)(249,27)])
link(onEvent2,14236714:doPosition,[(263,48)(263,76)])
}
Add(ChildPanel,6527287,161,231)
{
link(onEvent1,7483241:doEvent1,[])
}
BEGIN_SDK
Add(EditMulti,4366545,119,56)
{
EventCount=1
Width=433
}
Add(Panel,15046377,210,91)
{
Width=37
Height=17
Align=1
BevelInner=0
}
Add(Button,8833920,312,99)
{
Left=5
Top=5
Width=69
Align=5
Font=[Arial,8,0,0,1]
Caption="Add"
Flat=0
link(onClick,4366545:onEvent1,[(392,105)(392,62)])
}
END_SDK
Add(Hub,7483241,238,231)
{
link(onEvent1,15264052:doClear,[(270,237)(270,209)])
link(onEvent2,3644378:onEvent3,[(416,244)(416,41)])
}
Add(HubEx,11373227,140,35)
{
link(onEvent,7624261:doData,[])
}
Add(Memory,15264052,287,196)
{
Default=Integer(0)
link(onData,12109315:doEvent2,[(331,202)(331,125)(212,125)(212,48)])
}
END_SDK
Add(ScrollBar,3878119,749,119)
{
Width=18
Align=1
Page=10
Kind=1
Point(doMax)
link(onPosition,9059709:doWork3,[(786,124)(811,124)(811,203)(539,203)(539,139)])
}
Add(ChildPanel,9059709,567,119)
{
link(onEvent1,2483492:doWork1,[])
link(onEvent2,3878119:doMax,[(623,132)(623,162)(721,162)(721,132)])
link(onEvent3,3556829:doOperation,[(604,139)(604,156)(198,156)(198,181)])
}
BEGIN_SDK
Add(EditMulti,16109423,21,21)
{
EventCount=4
WorkCount=3
Width=1070
Height=732
link(doWork1,12660654:doWork3,[(510,27)(510,142)(410,142)(410,104)])
link(doWork2,12660654:doWork1,[(235,34)(235,90)])
link(doWork3,12660654:doWork2,[(227,41)(227,97)])
}
Add(Panel,15839817,210,476)
{
Width=0
Height=0
Align=5
Point(WidthControls)
Point(HeightControls)
Point(Width)
Point(Height)
Point(onResize)
Point(Handle)
link(WidthControls,5102372:GetData,[(216,380)(188,380)])
link(HeightControls,12803849:GetData,[(223,405)(244,405)])
link(onResize,80623:doOperation,[(359,489)(359,508)(503,508)(503,447)])
}
Add(MathParse,13562747,504,280)
{
MathStr="%1 - %2"
ResultType=0
link(onResult,16109423:onEvent1,[(726,286)(726,27)])
link(X1,12660654:Var1,[(510,261)(454,261)])
}
Add(MathParse,11165895,553,336)
{
MathStr="%1 - %2"
ResultType=0
link(onResult,16109423:onEvent2,[(736,342)(736,34)])
link(X1,12660654:Var2,[(559,246)(461,246)])
}
Add(EventFromData,12803849,238,336)
{
link(onEvent,11165895:doCalc,[])
}
Add(EventFromData,5102372,182,280)
{
link(onEvent,13562747:doCalc,[])
}
Add(ChildScrollBox,12660654,448,84)
{
}
BEGIN_SDK
Add(EditMulti,8850912,21,21)
{
WorkCount=3
VarCount=3
Width=909
Height=550
link(Var1,2423247:Width,[(27,399)(174,399)])
link(Var2,2423247:Height,[(34,399)(167,399)])
link(doWork1,2423247:doHScroll,[(84,27)(84,202)])
link(doWork2,2423247:doVScroll,[(75,34)(75,209)])
link(Var3,2423247:Handle,[(41,406)(181,406)])
link(doWork3,12820836:##Add,[(231,41)(231,202)])
}
Add(ScrollBox,2423247,147,196)
{
Width=0
Height=0
Point(Height)
Point(Width)
Point(Handle)
}
Add(ChildPanelEx,12820836,441,196)
{
Mode=1
link(onClick,5664572:doDeferredEvent,[])
link(Text,12820836:##handle,[(447,185)(405,185)(405,239)(447,239)])
}
BEGIN_SDK
Add(EditMultiEx,8038962,189,42)
{
WorkCount=#5:##Add|9:##hdelete|6:doText|
EventCount=#7:onClick|12:onMouseWheel|
VarCount=#8:##handle|
DataCount=#4:Text|
Width=286
Height=214
Point(##Add)
Point(##hdelete)
Point(##handle)
link(##Add,15720799:doText,[(238,48)(238,69)])
link(doText,1986715:doText,[(203,62)(203,188)])
}
Add(Panel,13351110,385,112)
{
Width=326
Height=122
Align=2
WinStyle=1
BorderWidth=0
BevelInner=0
Point(Handle)
Point(onMouseWheel)
link(onMouseWheel,8038962:onMouseWheel,[(446,125)(446,55)])
}
Add(Label,15720799,287,63)
{
Left=15
Top=55
link(Text,8038962:Text,[(293,53)(195,53)])
}
Add(DoData,6806243,287,112)
{
link(onEventData,8038962:onClick,[(351,118)(351,48)])
link(Data,15720799:Caption,[])
}
Add(Button,6756008,217,112)
{
Left=220
Top=90
Caption="del"
link(onClick,6806243:doData,[])
}
Add(Label,1986715,217,182)
{
Left=15
Top=90
}
END_SDK
Add(DeferredEvent,5664572,504,196)
{
InData=0
link(onDeferredEvent,12820836:##hdelete,[(554,202)(554,166)(431,166)(431,209)])
}
END_SDK
Add(Hub,15181537,315,567)
{
OutCount=3
link(onEvent1,8301344:doWidth,[])
link(onEvent2,8301344:doHeight,[])
link(onEvent3,16109423:onEvent3,[(365,587)(365,664)(881,664)(881,643)(880,41)])
}
Add(SizeWindow,1627676,427,441)
{
link(Handle,15839817:Handle,[(433,412)(323,412)(323,520)(230,520)])
}
Add(SizeWindow,8301344,378,567)
{
link(Handle,12660654:Var3,[(384,327)(468,327)])
link(Width,80623:Result,[(391,520)(538,520)])
link(Height,14504427:Result,[(398,527)(601,527)])
}
Add(Math,80623,532,441)
{
Op2=18
link(onResult,14504427:doOperation,[])
link(Op1,1627676:CurrentWidth,[(538,423)(489,423)(489,497)(433,497)])
}
Add(Math,14504427,595,441)
{
Op2=18
link(onResult,15181537:doEvent1,[(639,447)(639,623)(286,623)(286,573)])
link(Op1,1627676:CurrentHeight,[(601,411)(477,411)(477,484)(440,484)])
}
END_SDK
Add(SizeWindow,15688328,105,252)
{
link(Handle,12781087:Handle,[])
link(Width,3556829:Result,[(118,216)(216,216)])
link(Height,4730556:Result,[(125,230)(279,230)])
}
Add(Math,4730556,273,175)
{
Op2=1
link(onResult,6945783:doReset,[(335,181)(335,188)])
}
Add(MainForm,12781087,105,63)
{
Position=1
Point(Handle)
}
Add(Math,3556829,210,175)
{
Op2=1
link(onResult,4730556:doOperation,[])
link(Op1,15688328:CurrentWidth,[(216,163)(166,163)(166,324)(111,324)])
}
Add(Hub,927899,49,252)
{
link(onEvent1,15688328:doWidth,[])
link(onEvent2,15688328:doHeight,[])
}
Add(Switch,6945783,364,175)
{
Default=0
Point(onOff)
link(onOff,927899:doEvent1,[(408,188)(408,223)(37,223)(37,258)])
}



Легкий микс из того что было. В плюсах отправка к теме ChildScrollBox, (ваш вклад) ScrollBar альтернативны. ScrollBar не чуток при нажатии кнопки Add, в минусе - но исправлено сменой размера окна на точку.

Редактировалось 1 раз(а), последний 2025-11-17 20:36:22
карма: 0

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