Вверх ↑
Этот топик читают: Гость
Ответов: 186
Рейтинг: 9
#1: 2015-07-01 09:07:49 ЛС | профиль | цитата
Всем привет. Нужна помощь.
Основной вопрос конечно указан в теме, как для панели выравненной слоями сделать сплиттер для изменения её размеров.
В моем примере, в варианте 1 сделано то что хотелось бы видеть в варианте 2.
Много чего пробовал мудрить, с компонентом Splitter так и не смог сделать.

code_35935.txt
карма: 0

0
файлы: 1code_35935.txt [2KB] [234]
Ответов: 8928
Рейтинг: 823
#2: 2015-07-01 10:25:26 ЛС | профиль | цитата
Chipset, в своё время, когда у нас ещё слоёв не было, я так и не смог разобраться с применением этого сплиттера, хотя у некоторых пользователей и получалось
карма: 19

0
Ответов: 186
Рейтинг: 9
#3: 2015-07-01 10:51:38 ЛС | профиль | цитата
Леонид, все что смог найти по нему это крохи.
Думал поможет такой пример, но внутри панели это не заработало.

code_35938.txt

В layoutSpacer есть настройки отступов, но почему то их изменение не к чему не приводит.
Короче задача простая, а затык полный
карма: 0

0
файлы: 1code_35938.txt [1KB] [193]
Ответов: 8928
Рейтинг: 823
#4: 2015-07-01 11:02:17 ЛС | профиль | цитата
Chipset, затык решается ручным управлением через имеющиеся у всех интерфейсных компонентов точки размеров и положения на экране, правда схема вырастет не пропорционально задаче
карма: 19

0
Ответов: 5227
Рейтинг: 587
#5: 2015-07-01 11:23:08 ЛС | профиль | цитата
Chipset, вроде работает code_35939.txt
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_35939.txt [2KB] [339]
Ответов: 16884
Рейтинг: 1239
#6: 2015-07-01 11:27:10 ЛС | профиль | цитата
andrestudio,опередил. У меня тоже работает.
Леонид писал(а):
затык решается ручным управлением
Затык решается изучением.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 186
Рейтинг: 9
#7: 2015-07-01 12:50:00 ЛС | профиль | цитата
andrestudio, Tad, Вы решили схитрить господа.

Align я и сам ставил, дело в том что данная панель висит как бы над основной формой где уже стоят все настройки Align, и если поставить их на данной панели то она будет их смещать.
Для этого я использовал на ней Слои.
А почему стандартный Splitter не включается если нет Align?

Как всегда куском схему не отделался, вот вся задумка.

code_35940.txt
------------ Дoбавленo в 12.50:
Смог сделать что хотел.
Все таки сделал через компонент Splitter.

Add(MainForm,2953706,21,105)
{
Width=861
Height=723
link(onCreate,3763977:doWork1,[(303,125)(303,384)])
}
Add(ChildPanel,15837619,553,273)
{
}
BEGIN_SDK
Add(EditMulti,14312015,21,21)
{
Width=636
Height=473
}
Add(Panel,3556018,35,105)
{
Width=845
Height=300
Align=2
}
Add(ChildPanel,1935310,210,224)
{
}
BEGIN_SDK
Add(EditMulti,7610453,21,21)
{
}
Add(Panel,11412470,35,105)
{
Left=2
Top=2
Width=521
Height=296
Align=5
Visible=1
ColorSp=32768
}
END_SDK
Add(ChildPanel,11868142,329,224)
{
}
BEGIN_SDK
Add(EditMulti,9298826,21,21)
{
}
Add(Panel,1362122,35,105)
{
Left=523
Top=2
Width=320
Height=296
Align=3
Color=-16777214
ModeSp=2
ColorSp=32768
}
END_SDK
Add(Label,11623449,315,140)
{
Left=235
Top=120
Width=24
Height=52
Font=[MS Sans Serif,28,0,0,1]
Caption="1"
}
END_SDK
Add(ChildPanel,3763977,553,378)
{
}
BEGIN_SDK
Add(EditMulti,8984093,21,21)
{
WorkCount=1
Width=706
Height=501
link(doWork1,2082757:doWork1,[(389,27)])
}
Add(Panel,10343204,35,105)
{
Top=300
Width=845
Height=385
Align=5
}
Add(LayoutSpacer,5372017,406,336)
{
Left=2
Top=2
Width=110
Height=381
Align=1
Layout="horz"
WidthScale=100
Point(doWidth)
}
Add(HBoxLayout,13422155,406,301)
{
Name="horz"
}
Add(ChildPanel,6465860,406,217)
{
}
BEGIN_SDK
Add(EditMulti,11599895,21,21)
{
EventCount=1
WorkCount=1
VarCount=1
Width=615
Height=480
link(doWork1,13640576:doWidth,[(105,27)(105,174)])
link(Var1,13640576:Width,[(27,340)(202,340)])
}
Add(Panel,13640576,189,147)
{
Left=491
Top=10
Width=351
Height=369
Color=-16777214
Name="post"
Layout="parent.horz"
ModeSp=1
ColorSp=32768
Point(doVisible)
Point(doLeft)
Point(Left)
Point(Width)
Point(doWidth)
}
END_SDK
Add(Label,14242979,455,168)
{
Left=255
Top=150
Width=24
Height=52
Font=[MS Sans Serif,28,0,0,1]
Caption="2"
}
Add(ScrollBar,4563782,91,287)
{
Left=160
Top=55
Width=350
Visible=1
Min=-200
Point(Width)
Point(onResize)
Point(doWidth)
link(onResize,11892763:doEvent1,[])
}
Add(FastMathParse,9370761,287,294)
{
MathStr="(350-%1) + 350"
ResultType=0
link(onResult,16058100:doEvent1,[])
link(X1,4563782:Width,[(293,282)(199,282)(199,331)(104,331)])
}
Add(Hub,16058100,336,294)
{
link(onEvent1,6465860:doWork1,[(371,300)(371,223)])
link(onEvent2,2082757:doWork2,[])
}
Add(Splitter,4718994,91,252)
{
Left=485
Top=5
Width=5
Height=380
Color=32768
Layout="horz"
}
Add(Hub,11892763,140,294)
{
link(onEvent1,9370761:doCalc,[])
link(onEvent2,14854734:doCompare,[])
}
Add(If_else,14854734,168,301)
{
Type=2
Op2=Integer(700)
link(onTrue,15039716:doData,[])
}
Add(DoData,15039716,210,301)
{
Data=Integer(700)
link(onEventData,4563782:doWidth,[(254,307)(254,339)(79,339)(79,300)])
}
Add(HubEx,2082757,385,301)
{
link(onEvent,13422155:doResize,[])
}
END_SDK


Интересно работает Splitter, его ни как не надо привязывать к компонентам, его наличие дает возможность менять размер других компонентов формы без всяких связей.
andrestudio, Tad, Спасибо за попытку.
карма: 0

0
файлы: 1code_35940.txt [8.8KB] [528]
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)