Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.27.232] |
|
Сообщ.
#1
,
|
|
|
мне требуется при перетаскивании картинок
что бы мышь не выходила за края прямоугольника как это реализовать ? |
Сообщ.
#2
,
|
|
|
What r u mean?? Перетаскивание каких картинок и куда? Компонент TImage?
В любом случае можно пользоваться методом MouseMove формы для получения текущих координат укзателя и API функцией SetCursorPos(X:Integer,Y:Integer) для установки позиции указателя мыши. |
Сообщ.
#3
,
|
|
|
Предыдущий способ я называю "блуждающая мышь-эпилептик".
Все гораздо проще! Функция Win32 API ClipCursor! И ВСЕ! 2Lunya: Вопрос: А что произойдет, если курсор уйдет с формы, где определен обработчик OnMouseMove? Ответ: Сообщения от мыши перестанут поступать в форму! Комментарий: Это основы программирования под Windows!!! |
Сообщ.
#4
,
|
|
|
2 Elephant:
Ну-с...замечание, конечно, уместно, но(!) ClipCursor ограничивает мышь одним прямоугольником, а что делать, если понадобится вновь "освободить" cursor? Тогда придется делать тот же самый ClipCursor, только на прямоугольник размером GetDesktopWindow, что не есть хорошо. Выбор способа здесь зависит от конкретной задачи, т.к. нам неизвестно: a) Будет ли определен onMouseMove b) Нужно ли "освобождать" мышь |