Вверх ↑
Этот топик читают: Гость
Ответов: 578
Рейтинг: 14
#1: 2012-07-01 14:10:23 ЛС | профиль | цитата
Добрый день, подскажите пожалуйста как перемещяться по панели цепляясь мышью за картинку. Надеюсь ясно выразился

Add(MainForm,2953706,371,294)
{
Position=1
}
Add(ChildScrollBox,1000729,490,294)
{
}
BEGIN_SDK
Add(EditMulti,9609029,392,266)
{
Width=370
Height=256
}
Add(ScrollBox,6876221,413,378)
{
Left=117
Top=79
Width=477
Height=446
Align=5
Ctl3D=1
}
Add(Image,2312566,525,378)
{
Top=-2
Width=471
Height=442
Cursor=2
}
END_SDK


------------ Дoбавленo в 14.10:
моя кривая попытка решения, можно как то правильней?
Add(MainForm,2953706,371,294)
{
Position=1
}
Add(ChildScrollBox,1000729,490,294)
{
}
BEGIN_SDK
Add(EditMulti,9609029,392,266)
{
Width=370
Height=256
}
Add(ScrollBox,6876221,595,385)
{
Left=117
Top=79
Width=720
Height=639
Align=5
Ctl3D=1
}
Add(Image,2312566,441,378)
{
Top=-2
Width=709
Height=628
Cursor=2
Point(onMouseDown)
Point(onMouseUp)
link(onMouseDown,1586198:doWork1,[])
link(onMouseUp,1586198:doWork2,[])
}
Add(MultiElement,1586198,518,385)
{
link(onEvent1,6876221:doHScroll,[])
link(onEvent2,6876221:doVScroll,[])
}
BEGIN_SDK
Add(EditMulti,7358788,406,259)
{
EventCount=2
WorkCount=2
Width=272
Height=193
link(doWork1,10250275:doEvent1,[(427,265)(427,335)])
link(doWork2,10742899:doEvent1,[(417,272)(417,384)])
}
Add(Math,653746,532,378)
{
OpType=1
link(onResult,7358788:onEvent1,[(635,384)(635,265)])
link(Op1,3168110:Value,[(538,370)(496,370)])
link(Op2,5427030:Var2,[])
}
Add(MouseEvent,11916118,539,273)
{
}
Add(Memory,3168110,490,329)
{
Point(Data)
link(Data,5427030:Var1,[(496,320)])
}
Add(GetDataEx,5427030,539,315)
{
link(Data,11916118:MouseX,[])
}
Add(Hub,10250275,448,329)
{
link(onEvent1,3168110:doValue,[])
link(onEvent2,11949507:doValue,[])
}
Add(Math,15055479,539,385)
{
OpType=1
link(onResult,7358788:onEvent2,[(646,391)(646,272)])
link(Op1,11949507:Value,[(545,377)(594,377)])
link(Op2,8352997:Var2,[])
}
Add(Memory,11949507,588,336)
{
Point(Data)
link(Data,8352997:Var3,[(594,320)])
}
Add(Hub,10742899,448,378)
{
link(onEvent1,653746:doOperation,[])
link(onEvent2,15055479:doOperation,[])
}
Add(GetDataEx,8352997,546,315)
{
link(Data,11916118:MouseY,[])
}
END_SDK
END_SDK

карма: 0

0
Ответов: 1173
Рейтинг: 49
#2: 2012-07-01 14:12:07 ЛС | профиль | цитата
У картинки есть onMouseDown, у скроллбара doHScroll и doVScroll. Вывод?
------------ Дoбавленo в 14.12:
Пока писал, вопрос поменялся
карма: 0

0
Ответов: 578
Рейтинг: 14
#3: 2012-07-01 14:13:55 ЛС | профиль | цитата
вопрос не поменялся, добавилась попытка решения
карма: 0

0
Ответов: 1173
Рейтинг: 49
#4: 2012-07-01 14:39:45 ЛС | профиль | цитата
Ничего не получается
code_28371.txt
карма: 0

0
файлы: 1code_28371.txt [2.5KB] [72]
Ответов: 8948
Рейтинг: 824
#5: 2012-07-01 14:58:30 ЛС | профиль | цитата
GanjaKyp, используя точку Move можно таскать картинку. code_28372.txt
карма: 19

1
файлы: 1code_28372.txt [3.1KB] [100]
Голосовали:GanjaKyp
Ответов: 578
Рейтинг: 14
#6: 2012-07-01 15:08:34 ЛС | профиль | цитата
Леонид, спасибо, то что надо, буду смотреть
карма: 0

0
Ответов: 1841
Рейтинг: 370
#7: 2012-07-01 15:54:47 ЛС | профиль | цитата
Сделал на основе предыдущих наработок
см. ниже...
------------ Дoбавленo в 15.54:
Оптимизированный вариант

Add(MainForm,2276058,203,126)
{
}
Add(ChildScrollBox,3695061,273,126)
{
}
BEGIN_SDK
Add(EditMulti,8661688,21,21)
{
Width=881
Height=522
}
Add(ScrollBox,8763119,309,210)
{
Left=35
Top=105
Width=787
Height=538
Align=5
}
Add(Image,3572058,203,203)
{
Width=2000
Height=2000
Cursor=2
ViewStyle=1
MouseCapture=0
Point(onMouseDown)
Point(onMouseUp)
Point(onMouseMove)
Point(MouseX)
Point(MouseY)
link(onMouseDown,6623983:MouseDown,[])
link(onMouseUp,6623983:MouseUp,[])
link(onMouseMove,6623983:MouseMove,[])
}
Add(MultiElementEx,6623983,259,210)
{
link(SetHPos,8763119:doHScroll,[])
link(SetVPos,8763119:doVScroll,[])
link(MousePosX,3572058:MouseX,[(265,191)(188,191)(188,246)(216,246)])
link(MousePosY,3572058:MouseY,[(272,183)(180,183)(180,250)(223,250)])
link(HPos,8763119:HPos,[(279,184)(357,184)(357,255)(315,255)])
link(VPos,8763119:VPos,[(286,193)(349,193)(349,251)(322,251)])
}
BEGIN_SDK
Add(EditMultiEx,10169,21,21)
{
WorkCount=#9:MouseDown|7:MouseUp|9:MouseMove|
EventCount=#7:SetHPos|7:SetVPos|
DataCount=#9:MousePosX|9:MousePosY|4:HPos|4:VPos|
Width=762
Height=207
VOffset=100
HOffset=100
link(MouseDown,14693571:In,[(31,127)(31,119)])
link(MouseUp,5452103:In,[])
link(MouseMove,13650830:In,[(31,141)(31,149)])
}
Add(IndexToChanel,14061752,391,171)
{
Point(Index)
link(onEvent2,6615332:doCalc,[])
link(Index,10082064:State,[])
}
Add(Switch,10082064,391,127)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(doOn)
Point(State)
}
Add(Hub,2828195,325,95)
{
link(onEvent1,4990918:doValue,[])
link(onEvent2,1878410:In,[])
}
Add(FastMathParse,6615332,440,178)
{
DataCount=3
MathStr="(%1 - %2) + %3"
link(onResult,3776936:doEvent1,[])
link(X1,4990918:Value,[])
link(X2,11547312:getVar,[])
link(X3,1551074:Var,[])
}
Add(FastMathParse,5833451,578,185)
{
DataCount=3
MathStr="(%1 - %2) + %3"
link(onResult,11649549:In,[])
link(X1,1086353:Value,[])
link(X2,13592720:getVar,[])
link(X3,6180246:Var,[])
}
Add(Memory,4990918,440,95)
{
Default=Integer(0)
Point(Data)
link(onData,1086353:doValue,[])
link(Data,2529892:getVar,[])
}
Add(Memory,1086353,578,95)
{
Default=Integer(0)
Point(Data)
link(Data,4250776:getVar,[])
}
Add(LineBreak,853321,237,95)
{
Caption="MouseDown"
link(Out,2828195:doEvent1,[])
Primary=[14693571,-197,18]
}
Add(LineBreak,16324362,302,171)
{
Caption="MouseMove"
link(Out,14061752:doEvent,[])
Primary=[13650830,-262,-28]
}
Add(LineBreakEx,14299132,121,80)
{
Caption="MousePosX"
Type=3
link(_Data,10169:MousePosX,[])
}
Add(LineBreakEx,3732314,128,65)
{
Caption="MousePosY"
Type=3
link(_Data,10169:MousePosY,[])
}
Add(LineBreakEx,2529892,440,70)
{
Caption="MousePosX"
Type=2
}
Add(LineBreakEx,4250776,578,69)
{
Caption="MousePosY"
Type=2
}
Add(LineBreakEx,11547312,447,134)
{
Caption="MousePosX"
Type=2
}
Add(LineBreakEx,13592720,585,142)
{
Caption="MousePosY"
Type=2
}
Add(LineBreak,11397827,135,50)
{
Caption="HPos"
Type=1
link(Data,10169:HPos,[])
Primary=[1551074,319,100]
}
Add(LineBreak,11944999,142,35)
{
Caption="VPos"
Type=1
link(Data,10169:VPos,[])
Primary=[6180246,450,123]
}
Add(LineBreak,12461294,710,117)
{
Caption="SetHPos"
link(Out,10169:SetHPos,[(774,123)(774,127)])
Primary=[5460397,-197,61]
}
Add(LineBreak,5079542,711,132)
{
Caption="SetVPos"
link(Out,10169:SetVPos,[(774,138)(774,134)])
Primary=[11649549,-90,53]
}
Add(Hub,3776936,486,178)
{
link(onEvent1,5460397:In,[])
link(onEvent2,5833451:doCalc,[])
}
Add(LineBreak,12107985,305,129)
{
Caption="FlgMoveOff"
link(Out,10082064:doReset,[(382,135)(382,140)])
Primary=[5452103,-264,-1]
}
Add(LineBreak,1699740,305,144)
{
Caption="FlgMoveOn"
link(Out,10082064:doOn,[(382,150)(382,147)])
Primary=[1878410,45,-42]
}
END_SDK
END_SDK
карма: 1
0
Ответов: 16884
Рейтинг: 1239
#8: 2012-07-01 16:19:28 ЛС | профиль | цитата
CriDos, Загрузил картинку в "Оптимизированный вариант" и... заклинило.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1841
Рейтинг: 370
#9: 2012-07-01 16:39:54 ЛС | профиль | цитата
Tad писал(а):
заклинило

Это как?
Загрузил изображение высокого разрешения, вроде нормальное всё передвигается и отображается
movexyimage.7z
карма: 1
0
Ответов: 16884
Рейтинг: 1239
#10: 2012-07-01 16:57:50 ЛС | профиль | цитата
Загрузи через ODialog (извне)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1841
Рейтинг: 370
#11: 2012-07-01 17:24:46 ЛС | профиль | цитата
movexyimage_v.2(add_load-image).7z
карма: 1
0
файлы: 1movexyimage_v.2(add_load-image).7z [1.6KB] [100]
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)