както nesco выкладывал классный пример, но нашёл в ней 2 бага,
1-вый баг: прозрачная форма после нескольких интераций потом начинает преследовать курсор на пару px если чтото выделить в списке и отвести курсор в сторону
2-рой баг: если нажать на строке левой клавишей мыши, оттащить её немного и нажать правую клавишу мыши, прозрачная форма уходит в свободное плаванье
[burl=http://forum.hiasm.com//getfile/19768]Скачать[/burl]
Этот топик читают: Гость
Ответов: 1528
Рейтинг: 57
|
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
hitman249 писал(а): нашёл в ней 2 багаНу так попытайся их исправить. Есть пример, а ошибки правим сами |
|||
карма: 22 |
|
Ответов: 1528
Рейтинг: 57
|
|||
nesco, плохо у меня с рисованием и позиционированием(
------------ Дoбавленo в 13.12: по крайне мере пока что) |
|||
карма: 0 |
|
Ответов: 413
Рейтинг: 57
|
|||
Если графическое отображение самого процесса перемещения не особо нужно, то вот что получится без лишнего (может почти без лишнего):
Add(MainForm,2953706,7,63)
{ Height=357 link(onCreate,8659902:doEnum,[]) } Add(StrList,46990,49,14) { Strings=#18:строка 1 = 1111111|18:строка 2 = 2222222|17:строка 3 = 333333|21:Строка 4 = 4444444444|20:Строка 5 = 555555555|17:Строка 6 = 666666|21:Строка 7 = 7777777777| } Add(ArrayEnum,8659902,63,77) { link(onItem,8861398:doMT,[]) link(Array,46990:Array,[]) } Add(MTStrTbl,6704819,336,42) { Left=5 Top=15 Width=385 Height=190 Name="1" Hint="1" Columns=#9:Имена=150|11:Столбец=200| Point(ItemAtPos) Point(onMouseEnter) Point(EndIdx) Point(onSelect) Point(onMouseUp) link(onMouseUp,997383:In,[]) } Add(MST_DB,9269790,161,70) { MSTControl="1" } Add(MT_String,8861398,112,70) { Delimeter="=" link(onResult,9269790:doAddRow,[]) } Add(MST_RowAction,13176692,910,273) { Action=8 MSTControl="1" Point(Index) link(Index,8293956:Var3,[(916,194)]) } Add(MST_RowAction,8527033,798,315) { Action=9 MSTControl="1" Point(Index) link(Index,8293956:Var2,[]) } Add(MathParse,11572760,798,406) { MathStr="(%1 = %2) * %2 + (%1 < %2) * (%1 + 1)" ResultType=0 link(onResult,5449482:doWork3,[(958,412)]) link(X1,3709345:Value,[]) link(X2,8527033:EndIdx,[]) } Add(MathParse,14952416,910,364) { DataCount=1 MathStr="(%1 = 0) * 0 + (%1 > 0) * (%1 - 1)" ResultType=0 link(onResult,5449482:doWork2,[]) link(X1,4707097:Value,[]) } Add(Hub,7174064,714,308) { OutCount=3 link(onEvent1,12724379:doData,[(743,314)(743,363)]) link(onEvent2,8527033:doRowAction,[]) link(onEvent3,11572760:doCalc,[(736,328)(736,412)]) } Add(Memory,3709345,798,357) { } Add(DoData,12724379,749,357) { link(onEventData,3709345:doValue,[]) link(Data,12782417:Var1,[(755,299)]) } Add(Hub,282233,819,266) { OutCount=3 link(onEvent1,12684700:doData,[(852,272)(852,321)]) link(onEvent2,13176692:doRowAction,[]) link(onEvent3,14952416:doCalc,[(845,286)(845,370)]) } Add(Memory,4707097,910,315) { } Add(DoData,12684700,861,315) { link(onEventData,4707097:doValue,[]) link(Data,12782417:Var3,[(867,299)]) } Add(DoData,12781651,455,147) { link(onEventData,10304162:doWork1,[(501,153)]) link(Data,6704819:EndIdx,[(461,116)(377,116)]) } Add(If_else,6470422,364,147) { Op2=Integer(-1) link(onTrue,12781651:doData,[]) link(onFalse,9180010:doData,[]) link(Op1,8654094:Var2,[]) } Add(MST_SelectRow,9501550,777,147) { MSTControl="1" } Add(DoData,9180010,406,154) { link(onEventData,10304162:doWork2,[]) link(Data,8654094:Var3,[(412,124)]) } Add(GetDataEx,8654094,364,119) { link(Data,6704819:ItemAtPos,[]) } Add(GetDataEx,12782417,784,294) { link(Data,9501550:Index,[]) } Add(If_else,12014938,609,266) { Type=1 Op2=Integer(0) link(onTrue,2789887:doFor,[]) link(onFalse,15211175:doFor,[(656,279)(656,314)]) } Add(Memory,14246077,518,154) { } Add(HubEx,10304162,497,154) { link(onEvent,14246077:doValue,[]) } Add(MathParse,12903108,518,259) { MathStr="%1 - %2" link(onResult,8296199:doEvent1,[]) link(X1,14246077:Value,[]) link(X2,3223921:Var1,[(531,194)]) } Add(Hub,3366625,322,147) { link(onEvent1,6470422:doCompare,[]) link(onEvent2,12903108:doCalc,[(355,160)(355,265)]) } Add(LineBreak,11014743,224,140) { link(Out,13139901:doCompare,[]) Primary=[997383,175,-56] } Add(For,2789887,693,266) { Start=1 link(onEvent,282233:doEvent1,[]) link(End,11758174:Var3,[(706,244)]) } Add(For,15211175,665,308) { Start=1 link(onEvent,7174064:doEvent1,[]) link(End,11758174:Var2,[]) } Add(GetDataEx,8293956,798,189) { Angle=3 link(Data,3223921:Var3,[]) } Add(If_else,13139901,273,140) { link(onFalse,3366625:doEvent1,[]) link(Op1,7533781:Var1,[(279,110)]) link(Op2,8654094:Var1,[(286,124)]) } Add(HubEx,5449482,954,364) { Angle=3 link(onEvent,9501550:doSelect,[(958,134)(765,134)(765,153)]) } Add(GetDataEx,7533781,343,105) { link(Data,6704819:Index,[]) } Add(GetDataEx,3223921,554,189) { link(Data,7533781:Var3,[(560,110)]) } Add(Math,8151501,672,203) { OpType=33 } Add(Hub,8296199,574,259) { link(onEvent1,8151501:doOperation,[(602,265)(602,209)]) link(onEvent2,12014938:doCompare,[]) } Add(GetDataEx,11758174,672,239) { link(Data,8151501:Result,[]) } |
|||
карма: 0 |
|
Ответов: 48
Рейтинг: 12
|
|||
карма: 0 |
|
Ответов: 1528
Рейтинг: 57
|
|||
Shonyi, а если несколько строк тащить ?
|
|||
карма: 0 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Poputchik писал(а): Если графическое отображение самого процесса перемещения не особо нужното лучше делать вот так, более производительно code_22505.txt |
|||
карма: 10 |
| ||
файлы: 1 | code_22505.txt [2.6KB] [114] |
Ответов: 1528
Рейтинг: 57
|
|||
у Shonyi лучший вариант, только что делать если тащить нужно при multiselest + несколько строк
|
|||
карма: 0 |
|
Ответов: 1528
Рейтинг: 57
|
|||
Shonyi, жив ещё пример?
|
|||
карма: 0 |
|
9