Вверх ↑
Этот топик читают: Гость
Ответов: 841
Рейтинг: 17
#1: 2012-07-22 19:10:05 ЛС | профиль | цитата
Нужно рассчитать место расположения элементов на форме,что бы при растягивание формы они оставался в центри например
code_28555.txt
карма: 0

0
файлы: 1code_28555.txt [3.9KB] [166]
Ответов: 1173
Рейтинг: 49
#2: 2012-07-22 19:50:39 ЛС | профиль | цитата
GAv писал(а):
Помогите рассчитать правильно расчёт
iarspider писал(а):
------------ Дoбавленo в 19.15:
А, так вы свой Anchor хотите сделать.
------------ Дoбавленo в 19.17:
Там две точки перепутаны:

Add(MainForm,13529597,63,98)
{
Width=800
Height=600
Point(Width)
Point(Height)
}
Add(Edit,12325369,175,133)
{
Left=300
Top=490
Width=80
Text=""
Point(doLeft)
Point(doTop)
Point(Left)
Point(Top)
}
Add(MultiElementEx,13739685,63,154)
{
link(lift,12325369:doTop,[])
link(top1,12325369:doLeft,[(160,167)(160,153)])
link(onResult,7565582:doTop,[(135,174)(135,209)])
link(onResult1,7565582:doLeft,[(135,181)(135,202)])
link(onResult2,3769057:doLeft,[(135,188)(135,237)])
link(onResult3,3769057:doTop,[(135,195)(135,244)])
link(Data,13529597:Width,[])
link(Data1,13529597:Height,[])
}
BEGIN_SDK
Add(EditMultiEx,3592757,21,21)
{
EventCount=#4:lift|4:top1|8:onResult|9:onResult1|9:onResult2|9:onResult3|
DataCount=#4:Data|5:Data1|
Width=797
Height=676
}
Add(DoData,13272009,182,91)
{
link(onEventData,5572045:doOperation,[])
link(Data,2325638:Var2,[])
}
Add(DoData,5912644,189,154)
{
link(onEventData,6603739:doOperation,[])
link(Data,12534299:Var2,[])
}
Add(Timer,11975806,91,91)
{
Interval=1
link(onTimer,13407941:doEvent1,[])
}
Add(Hub,13407941,140,91)
{
OutCount=3
link(onEvent1,13272009:doData,[])
link(onEvent2,5912644:doData,[(178,104)(178,160)])
link(onEvent3,839790:doEvent1,[(158,111)(158,279)])
}
Add(Math,6603739,231,154)
{
OpType=1
Op2=100
link(onResult,3592757:lift,[(323,160)(323,27)])
link(Op1,15807581:Var3,[(237,145)])
}
Add(Math,5572045,231,91)
{
OpType=1
Op2=500
link(onResult,3592757:top1,[(292,97)(292,34)])
link(Op1,2325638:Var3,[(237,61)])
}
Add(GetDataEx,12534299,189,140)
{
link(Data,3592757:Data1,[(195,80)(34,80)])
}
Add(GetDataEx,2325638,182,56)
{
link(Data,6716797:Var3,[])
}
Add(DoData,15014396,203,273)
{
link(onEventData,2177599:doOperation,[])
link(Data,6124644:Var2,[])
}
Add(DoData,5366263,210,336)
{
link(onEventData,7601678:doOperation,[])
link(Data,14446488:Var2,[])
}
Add(Hub,839790,161,273)
{
OutCount=3
link(onEvent1,15014396:doData,[])
link(onEvent2,5366263:doData,[(199,286)(199,342)])
link(onEvent3,14847931:doEvent1,[(187,293)(187,353)(187,353)(187,467)])
}
Add(Math,7601678,252,336)
{
OpType=1
Op2=100
link(onResult,3592757:onResult,[(512,342)(512,41)])
link(Op1,14446488:Var3,[(258,327)])
}
Add(Math,2177599,273,273)
{
OpType=1
Op2=380
link(onResult,3592757:onResult1,[(523,279)(523,48)])
link(Op1,11875400:Var3,[(279,243)])
}
Add(GetDataEx,14446488,210,322)
{
link(Data,13054159:Var2,[])
}
Add(GetDataEx,11875400,203,238)
{
link(Data,6716797:Var2,[(209,149)(174,149)])
}
Add(GetDataEx,6716797,168,49)
{
Angle=3
link(Data,3592757:Data,[(27,54)])
}
Add(GetDataEx,15807581,210,140)
{
Angle=3
link(Data,12534299:Var3,[])
}
Add(DoData,10700839,231,455)
{
link(onEventData,3207080:doOperation,[])
link(Data,5116093:Var2,[])
}
Add(DoData,10625543,238,553)
{
link(onEventData,4037847:doOperation,[])
link(Data,13956112:Var2,[])
}
Add(Hub,14847931,189,455)
{
link(onEvent1,10700839:doData,[])
link(onEvent2,10625543:doData,[(227,468)(227,559)])
}
Add(Math,4037847,301,553)
{
OpType=1
Op2=120
link(onResult,3592757:onResult3,[(526,559)(526,62)])
link(Op1,13956112:Var3,[(307,509)])
}
Add(Math,3207080,301,455)
{
OpType=1
Op2=300
link(onResult,3592757:onResult2,[(537,461)(537,55)])
link(Op1,5116093:Var3,[(307,390)])
}
Add(GetDataEx,13956112,238,504)
{
link(Data,13054159:Var3,[(244,306)])
}
Add(GetDataEx,6124644,203,259)
{
link(Data,11875400:Var2,[])
}
Add(GetDataEx,5116093,231,385)
{
link(Data,6124644:Var3,[(237,264)])
}
Add(GetDataEx,13054159,210,301)
{
link(Data,15807581:Var2,[])
}
END_SDK
Add(Edit,7565582,175,182)
{
Left=400
Top=490
Text=""
Point(doLeft)
Point(doTop)
}
Add(Button,3769057,175,231)
{
Left=455
Top=490
Caption="Send"
Point(doLeft)
Point(doTop)
}
А вообще схема вся кривая, уж извините.
------------ Дoбавленo в 19.50:
Попытася сделать свою схему (см. аттач), но она почему-то не работает, может, знающие товарищи допилят.
карма: 0

0
файлы: 1anchor_proto.sha [7.1KB] [123]
Ответов: 519
Рейтинг: 28
#3: 2012-07-22 20:29:46 ЛС | профиль | цитата
GAv а зачем расчитывать? если не ошибаюсь где-то в элементах были "Слои" и даже целый видео урок на эту тему.

http://hiasm.com/video.html - видео уроки по всем типам слоёв.

карма: 0

0
Ответов: 1173
Рейтинг: 49
#4: 2012-07-22 20:40:36 ЛС | профиль | цитата
zeta211, возможности слоёв ограничены, да и на привычный многим Anchor мало похожи.
карма: 0

0
Ответов: 519
Рейтинг: 28
#5: 2012-07-22 20:42:23 ЛС | профиль | цитата
Ex_ Задача была: "Нужно рассчитать место расположения элементов на форме,что бы при растягивание формы они оставался в центри например" - и слои вполне с этим справятся.
карма: 0

1
Голосовали:sla8a
Ответов: 8915
Рейтинг: 823
#6: 2012-07-22 21:15:40 ЛС | профиль | цитата
GAv, code_28558.txt
карма: 19

3
файлы: 1code_28558.txt [2.7KB] [169]
Голосовали:Ex_, zeta211, GAv
Ответов: 1173
Рейтинг: 49
#7: 2012-07-22 21:35:22 ЛС | профиль | цитата
zeta211 писал(а):
слои вполне с этим справятся
Не думаю, что получившиеся костыли будут лучше, чем самостоятельная реализация, типо того, что предложил Леонид.
карма: 0

0
Ответов: 519
Рейтинг: 28
#8: 2012-07-22 22:01:14 ЛС | профиль | цитата
Вы ошибочно называете костылями готовый элемент предназначенный для этого, вместо схемы на 15элементов для позиционирования 2х.
карма: 0

1
Голосовали:filyaxxxcom
Ответов: 1173
Рейтинг: 49
#9: 2012-07-22 22:22:12 ЛС | профиль | цитата
zeta211 писал(а):
готовый элемент предназначенный для этого
ИМХО, элемент предназначен немного не для этого. В конце концов, предоставьте схему (на основе слоёв), котора просто будет, скажем, центрировать два элемента в зависимости от размера формы, да и закончим этот спор.
карма: 0

0
Ответов: 2236
Рейтинг: 676
#10: 2012-07-22 23:52:01 ЛС | профиль | цитата
Ex_ писал(а):
предоставьте схему (на основе слоёв), котора просто будет, скажем, центрировать два элемента в зависимости от размера формы, да и закончим этот спор

Ex_,вот вам схема на основе слоев: code_28560.txt. А вообще хотелось бы узнать, почему вы не разобравшись в целой группе элементов, обзываете их "костылями"?
карма: 11

2
файлы: 1code_28560.txt [1KB] [185]
Голосовали:ser_davkin, filyaxxxcom
Ответов: 1173
Рейтинг: 49
#11: 2012-07-22 23:59:14 ЛС | профиль | цитата
sla8a писал(а):
обзываете их
Не их, а реализацию аналога Anchor на основе них. И это ИМХО, как я уже писал.
карма: 0

0
Ответов: 2236
Рейтинг: 676
#12: 2012-07-23 00:09:11 ЛС | профиль | цитата
Ex_ писал(а):
возможности слоёв ограничены

Как вот это понимать? Расскажите поподробней какие ограничения у слоев? Вы их так хорошо знаете, что не можете даже с их помощью сделать обычную схему:
Ex_ писал(а):
котора просто будет, скажем, центрировать два элемента в зависимости от размера формы

карма: 11

0
Ответов: 1304
Рейтинг: 405
#13: 2012-07-23 00:14:46 ЛС | профиль | цитата
[flood]sla8a, привет загляни в личку, а то там просмотров как на ютуби а ты походу и не видел сообщение. [/flood]
карма: 3

0
Ответов: 1173
Рейтинг: 49
#14: 2012-07-23 00:22:07 ЛС | профиль | цитата
sla8a, я всего лишь хотел сказать, что, по моему мнению, схема с разным выравниванием нескольких элементов на основе слоёв будет выглядеть не лучше, чем самостоятельная реализация подобной фичи.
карма: 0

0
Ответов: 1061
Рейтинг: 22
#15: 2012-07-23 10:53:08 ЛС | профиль | цитата
А так

code_28565.txt

не подойдёт?
карма: 0

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