Вверх ↑
Ответов: 1265
Рейтинг: 47
#1: 2020-04-12 15:13:44 ЛС | профиль | цитата
kir1381, таймер решает эту проблему с вырыванием мыши, доработал схему andrestudio. У меня кстати она тоже вырвалась в итоге, если медленно поводить внизу справа у формы.


Add(RadioButton,10766049,546,49)
{
Left=150
Top=95
Caption="Form"
link(onSelect,8124996:doWork1,[])
}
Add(MainForm,14569843,749,56)
{
BorderStyle=1
Position=1
Point(Handle)
Point(onKeyDown)
link(onKeyDown,7091429:doCompare,[(789,83)(789,62)])
}
Add(InlineCode,14562614,749,196)
{
WorkPoints=#14:doSetMouseRect|16:doResetMouseRect|
DataPoints=#1:h|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|30:uses kol,windows, Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: h: THI_Event;|56: procedure doSetMouseRect(var dt: TData; idx: word);|58: procedure doResetMouseRect(var dt: TData; idx: word);|0:|5: end;|0:|14:implementation|0:|37:procedure THiAsmClass.doSetMouseRect;|3:var|11: R: TRect;|5:begin|38: GetWindowRect(ToIntegerEvent(h),R);|18: ClipCursor(@R);|4:end;|0:|39:procedure THiAsmClass.doResetMouseRect;|5:begin|19: ClipCursor(nil);|4:end;|0:|4:end.|
link(h,9708078:Var,[])
}
Add(Edit,16652307,903,56)
{
Left=160
Top=50
Width=195
Point(Handle)
}
Add(Edit,11265787,854,56)
{
Left=160
Top=20
Width=195
Point(Handle)
}
Add(Memo,9061837,952,56)
{
Left=20
Top=80
Width=115
Height=165
Point(Handle)
Point(onMouseDown)
}
Add(GetIndexData,9708078,749,133)
{
Count=4
link(onIndex,14562614:doSetMouseRect,[(795,139)(795,182)(737,182)(737,202)])
link(Data1,14569843:Handle,[])
link(Data2,11265787:Handle,[(762,105)(867,105)])
link(Data3,16652307:Handle,[(769,111)(916,111)])
link(Data4,9061837:Handle,[(776,117)(979,117)])
}
Add(Button,5359350,644,203)
{
Left=15
Top=20
Width=125
Caption="Reset mouse"
link(onClick,14115041:doWork2,[])
}
Add(RadioButton,9727169,546,56)
{
Left=150
Top=125
Width=60
Caption="Edit1"
link(onSelect,8124996:doWork2,[])
}
Add(ChanelToIndex,8124996,595,49)
{
Count=4
link(onIndex,10922876:doValue,[])
}
Add(RadioButton,16330823,546,63)
{
Left=150
Top=150
Width=60
Caption="Edit2"
link(onSelect,8124996:doWork3,[])
}
Add(RadioButton,14961306,546,70)
{
Left=150
Top=175
Width=70
Caption="Memo"
link(onSelect,8124996:doWork4,[])
}
Add(Label,4987787,644,154)
{
Left=150
Top=225
Width=220
Height=20
Font=[MS Sans Serif,8,1,255,1]
Caption="Key "Esc" reset mouse position"
}
Add(If_else,7091429,798,56)
{
Op2=Integer(27)
link(onTrue,6160569:doEvent1,[(838,62)(838,146)])
}
Add(HubEx,14115041,714,203)
{
link(onEvent,14562614:doResetMouseRect,[])
}
Add(Memory,10922876,672,49)
{
link(onData,12890139:doTimer,[(716,55)(716,93)(555,93)(555,132)])
}
Add(DoData,12399174,672,105)
{
link(onEventData,9708078:doIndex,[(726,111)(726,139)])
link(Data,10922876:Value,[])
}
Add(Timer,12890139,567,126)
{
Interval=100
link(onTimer,12399174:doData,[(635,132)(635,111)])
}
Add(Hub,6160569,847,140)
{
link(onEvent1,14115041:doWork1,[(873,146)(873,176)(718,176)])
link(onEvent2,12890139:doStop,[(873,153)(873,146)(555,146)(555,139)])
}

карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0