Автор
|
Тема: Как ограничить движение мыши в форме при перетаскивании картинки
|
whitebear |
опубликован 27-02-2001 19:30 MSK
мне требуется при перетаскивании картинок что бы мышь не выходила за края прямоугольника как это реализовать ?
|
Lunya
|
опубликован 28-02-2001 16:18 MSK
What r u mean??:) Перетаскивание каких картинок и куда? Компонент TImage? В любом случае можно пользоваться методом MouseMove формы для получения текущих координат укзателя и API функцией SetCursorPos(X:Integer,Y:Integer) для установки позиции указателя мыши. |
Elephant
|
опубликован 01-03-2001 02:02 MSK
Предыдущий способ я называю "блуждающая мышь-эпилептик". Все гораздо проще! Функция Win32 API ClipCursor! И ВСЕ!2Lunya: Вопрос: А что произойдет, если курсор уйдет с формы, где определен обработчик OnMouseMove? Ответ: Сообщения от мыши перестанут поступать в форму! Комментарий: Это основы программирования под Windows!!! |
Lunya
|
опубликован 06-03-2001 16:40 MSK
2 Elephant:Ну-с...замечание, конечно, уместно, но(!) ClipCursor ограничивает мышь одним прямоугольником, а что делать, если понадобится вновь "освободить" cursor? Тогда придется делать тот же самый ClipCursor, только на прямоугольник размером GetDesktopWindow, что не есть хорошо. Выбор способа здесь зависит от конкретной задачи, т.к. нам неизвестно: a) Будет ли определен onMouseMove b) Нужно ли "освобождать" мышь
|