Колесо мыши и скроллбар

Автор Tillevion, 1 апреля 2018, 15:08

0 Пользователи и 1 гость просматривают эту тему.

Tillevion

Подскажите, пожалуйста, как можно прикрутить вращение колеса мыши к полосе прокрутки? Стандартный элемент управления на него не реагирует, активные только клики непосредственно по скроллбару. Пример диалога:

oDlgModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
oDlgModel.setPropertyValue("Width", 100)
oDlgModel.setPropertyValue("Height", 100)
oModel = oDlgModel.createInstance("com.sun.star.awt.UnoControlScrollBarModel")
oModel.setPropertyValue("PositionX", 85)
oModel.setPropertyValue("PositionY", 5)
oModel.setPropertyValue("Width", 10)
oModel.setPropertyValue("Height", 90)
oModel.setPropertyValue("Orientation", 1)
oDlgModel.insertByName("ScrollBar", oModel)
oDlg = CreateUnoService("com.sun.star.awt.UnoControlDialog")
oDlg.setModel(oDlgModel)
oWindow = CreateUnoService("com.sun.star.awt.Toolkit")
oDlg.createPeer(oWindow, null)
oDlg.execute()

rami

Вы решили всё сделать кодом, так не останавливайтесь, пишите соответствующий слушатель (Listener) для колеса мыши. Сам я мышью не пользуюсь.

Tillevion

Цитата: rami от  1 апреля 2018, 13:31Вы решили всё сделать кодом, так не останавливайтесь, пишите соответствующий слушатель (Listener) для колеса мыши. Сам я мышью не пользуюсь.
К сожалению, я не могу найти подходящий тип события для колеса мыши, чтобы написать Listener. Непонятно что проверять.

rami

#3
Нарисуйте диалог и полосу прокрутки в редакторе диалогов, посмотрите какое событие реагирует на колесо мыши.

P.S. что-то мне кажется нет такой возможности. А для чего эта полоса прокрутки нужна?

Tillevion

Цитата: rami от  2 апреля 2018, 19:48Нарисуйте диалог и полосу прокрутки в редакторе диалогов, посмотрите какое событие реагирует на колесо мыши.

P.S. что-то мне кажется нет такой возможности. А для чего эта полоса прокрутки нужна?
Да, к сожалению, в редакторе диалогов нет событий для колеса мыши. Полоса прокрутки прокручивает длинный список из чекбоксов в рамке.