Вверх ↑
Этот топик читают: Гость
Ответов: 321
Рейтинг: 10
#1: 2017-03-28 07:19:39 ЛС | профиль | цитата
Привет ребята, как понять когда перетаскивание компонента окончено ?! Если onMouseUp не отвечает при прекращении перетаскивания ?!
Или это самый оптимальный вариант ?!
Нужно не выпустить label с определенной зоны.

Add(MainForm,2953706,518,147)
{
Width=916
Height=374
}
Add(MoveWindow,14163912,763,133)
{
link(Handle,11199695:Handle,[(769,121)(745,121)(745,170)(720,170)])
}
Add(MultiElement,850213,686,238)
{
link(onEvent1,11199695:doLeft,[(724,244)(724,206)(657,206)(657,146)])
link(onEvent2,11199695:doTop,[(731,251)(731,213)(667,213)(667,153)])
link(Data1,11199695:Left,[])
link(Data2,11199695:Top,[])
link(Data3,11199695:Width,[])
link(Data4,11199695:Height,[])
}
BEGIN_SDK
Add(EditMulti,6876683,21,21)
{
EventCount=2
WorkCount=1
DataCount=4
Width=860
Height=354
VOffset=49
HOffset=49
link(doWork1,2561066:doEvent1,[])
}
Add(GlobalVar,5915541,315,70)
{
Name="Left$2"
}
Add(DoData,6483258,224,70)
{
link(onEventData,5915541:doValue,[])
link(Data,6876683:Data1,[(230,52)(76,52)])
}
Add(DoData,12190521,231,119)
{
link(onEventData,6381062:doValue,[])
link(Data,6876683:Data2,[(237,45)(83,45)])
}
Add(GlobalVar,6381062,322,119)
{
Name="Top$2"
}
Add(Hub,2561066,147,70)
{
OutCount=4
link(onEvent1,6483258:doData,[])
link(onEvent2,12190521:doData,[(196,83)(196,125)])
link(onEvent3,11995024:doCompare,[(186,90)(186,167)])
link(onEvent4,13383035:doCompare,[(175,97)(175,279)])
}
Add(If_else,11995024,406,161)
{
Type=1
Op2=Integer(0)
link(onTrue,14149889:doData,[])
link(onFalse,5354566:doOperation,[])
link(Op1,9322761:Var2,[])
}
Add(DoData,14149889,462,161)
{
Data=Integer(0)
link(onEventData,12807918:doWork2,[])
}
Add(If_else,13383035,343,273)
{
Type=1
Op2=Integer(0)
link(onTrue,7880241:doData,[])
link(onFalse,9347325:doOperation,[])
link(Op1,6625932:Var2,[])
}
Add(DoData,7880241,392,273)
{
Data=Integer(0)
link(onEventData,1062010:doWork2,[])
}
Add(If_else,4746594,595,168)
{
Type=2
Op2=Integer(795)
link(onTrue,11446266:doOperation,[])
}
Add(If_else,10353546,532,280)
{
Type=2
Op2=Integer(200)
link(onTrue,8374585:doOperation,[])
}
Add(GetDataEx,4612476,315,98)
{
link(Data,5915541:Var,[])
}
Add(GetDataEx,2233981,322,175)
{
link(Data,6381062:Var,[])
}
Add(Math,5354566,539,168)
{
link(onResult,4746594:doCompare,[])
link(Op1,9322761:Var3,[(545,103)])
link(Op2,5733989:Var2,[])
}
Add(GetDataEx,9322761,406,98)
{
Angle=3
link(Data,4612476:Var3,[])
}
Add(Math,11446266,658,168)
{
OpType=1
Op1=795
link(onResult,12807918:doWork3,[(704,174)])
link(Op2,5733989:Var3,[(671,152)])
}
Add(GetDataEx,5733989,546,147)
{
link(Data,6876683:Data3,[(552,38)(90,38)])
}
Add(Math,9347325,448,280)
{
link(onResult,10353546:doCompare,[])
link(Op1,6625932:Var3,[(454,180)])
link(Op2,6704398:Var2,[])
}
Add(GetDataEx,6625932,343,175)
{
Angle=3
link(Data,2233981:Var3,[])
}
Add(Math,8374585,595,280)
{
OpType=1
Op1=200
link(onResult,1062010:doWork3,[(641,286)])
link(Op2,6704398:Var3,[(608,264)])
}
Add(GetDataEx,6704398,455,259)
{
link(Data,6876683:Data4,[(461,31)(97,31)])
}
Add(HubEx,1062010,637,273)
{
link(onEvent,6876683:onEvent2,[(816,279)(816,83)])
}
Add(HubEx,12807918,700,161)
{
link(onEvent,6876683:onEvent1,[(746,167)(746,76)])
}
END_SDK
Add(Image,14333411,518,196)
{
Width=795
Height=200
Color=16777215
}
Add(Label,11199695,679,126)
{
Left=5
Top=5
Width=4
Height=4
Cursor=8
Transparent=0
Caption="11111111"
Point(doFont)
Point(doLeft)
Point(doTop)
Point(Left)
Point(Top)
Point(onMouseDown)
Point(onMove)
Point(Width)
Point(Height)
Point(Handle)
link(onMouseDown,14163912:doMove,[])
link(onMove,850213:doWork1,[(736,146)(736,195)(674,195)(674,244)])
}

карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 321
Рейтинг: 10
#2: 2017-03-28 10:45:54 ЛС | профиль | цитата
Ответ: http://forum.hiasm.com/topic/49475/0
карма: 1

0
Ответов: 1328
Рейтинг: 69
#3: 2017-03-28 18:43:47 ЛС | профиль | цитата
Master4eG писал(а):
Нужно не выпустить label с определенной зоны


чтоб не выпускать нужно запрещать перетаскивание при выходе за зону
карма: 2

0
Ответов: 321
Рейтинг: 10
#4: 2017-03-28 19:39:50 ЛС | профиль | цитата
Konst, да, но тогда эффект перетаскивания становиться не красивым, тащишь вниз текст и тут бах... и немота какая-то.
Допустим вниз до границы дотащили, но нужно чуть правее, а перетаскивание уже оказалось неактивным.
Ну я пытался так реализовать, но будет проблематично у границ перетаскивать компонент, перетаскивание при касании границы будет сбрасываться, по крайне мере так было в моем случае, умнее ничего не придумал.
Сейчас сделал - тащишь куда угодно, при отпускании перерасчет и авто-выравнивание, если ушло за границу.
карма: 1

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