Re[3]: Нужен алгоритм передвижения картинки мышкой как в ACD
От: Sergei I. Gorelkin Россия  
Дата: 19.07.05 06:32
Оценка: 1 (1)
Здравствуйте, oduvan, Вы писали:

O>Здравствуйте, Reunion, Вы писали:


R>>А в чем разница: смотри на сколько сдвинулся указатель мыши и перемещай. Если dx > 0 — код как при нажатии кнопки вправо, dx < 0 — влево; dy > 0 — вниз, dy < 0 — вверх. Вроде ничего хитрого.


O>ну в принципе так и думал. но тут получится что сначала я перетаскиваю картинку, а потом она отрисовывается в нужных координатах. получается так.


Тут нужно дополнительную точку завести. При нажатии кнопки мыши — запоминаем в ней координаты курсора. При получении WM_MOUSEMOVE — вычисляем разницу между текущим положением курсора и этой точкой, на полученное количество пикселей смещаем картинку, и потом опять координаты курсора запоминаем в дополнительной точке.
Еще уместно вызвать SetCapture при нажатии кнопки мыши и ReleaseCapture при отпускании — тогда курсор можно будет утащить за пределы окна.
Ну и рисование как таковое — отдельная тема, т.к. приходится добиваться отсутствия тормозов.

Успехов!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.