![]() |
|
#1
|
|||
|
|||
![]() Подскажите пожалуйста. Пытаюсь сделать по скролу на мышке (колесику) изменение масштаба изображения в PaintBox'е. Использую события
FormMouseWheel FormMouseWheelDown FormMouseWheelUp при прокручивании колесика, смотрю чтоб указатель мышки был в данный момент над PaintBoxом и тогда изменяю масштаб. Но проблема в том что при прокручивании колеса событие FormMouseWheel и соответственно FormMouseWheelDown или FormMouseWheelUp возникает несколько раз. И масштаб очень резко меняется, а при длительном прокручивании вообще виснет. Как этого избежать? |
#2
|
||||
|
||||
![]() Как вариант, можно не сразу менять масштаб, а сделать задержку на N-ное количество миллисекунд. Если поступает еще сообщение прокрутки, то предыдущая задача, если еще не выпоняется, перекрывается следующей с прибавлением шага изменения. Если взять задержку не очень большую... скажем сотню-две миллисекунд, то юзеру будет не заметно.
|
#3
|
|||
|
|||
![]() а если перхватывать WM_MOUSEWHEEL (как ранее обсуждалось), всё равно несколько раз это сообщение приходит? Вообще не понятно почему это событие несколько раз возникает.
|
#4
|
||||
|
||||
![]() Цитата:
Цитата:
|