Это мой код ... curX и curY - это мои текущие координаты X и Y, а tmpX и tmpY - относительные значения X и Y (насколько перемещена мышь).Как сохранить координаты в пределах экрана?
curX:= curX+tmpX;
curY:= curY+tmpY;
Я использую эти значения для перемещения/управления своей формой в форме курсора.
Как я могу держать курсоры внутри экрана?
Я попытался ограничить значения до тех пор, пока Screen.Height и Screen.Width ... вот код.
if(curX>Screen.Width) then
curX:=Screen.Width;
if(curY>Screen.Height) then
curY:=Screen.Height;
но это не сработало.
Решено! (Сорт):
curX:= max(0, min((curX+tmpX), Screen.Width));
curY:= max(0, min((curY+tmpY), Screen.Height));
Единственная проблема у меня есть, что (0,0), по-видимому, не верхний самый левый (очень близко, хотя, только пару пикселей прочь я думаю) и (Screen. Width, Screen.Height) не самый верхний правый (также закрывается, курсор исчезает справа, но я думаю, что один из них должен вести себя таким образом).
Как вы его ограничили, разместите свой код. –