| View previous topic :: View next topic |
| Author |
Message |
Infocatcher
Joined: 06 Aug 2007 Posts: 1431
|
Posted: Sat Jun 26, 2010 9:17 pm Post subject: |
|
|
| В окне AkelPad'а не работает горизонтальная прокрутка, реализованная в некоторых мышках. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Sun Jun 27, 2010 10:18 am Post subject: |
|
|
Infocatcher
Кто его знает, как драйвер мыши пытается обращаться к окну редактирования. Даже быть может, что драйвер поддерживает только какие-то определенные окна (классы). Попробуйте указать "RichEditClass=1". |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1431
|
Posted: Sun Jun 27, 2010 10:42 am Post subject: |
|
|
| Instructor wrote: | | Попробуйте указать "RichEditClass=1". |
Не помогло.
Более того, даже AkelPad 3.7.4 странно прокручивается – если с активна утилита для настройки мыши, то горизонтальная полоса прокрутки меняет внешний вид при прокрутке (похоже на отключение темы оформления), а если без утилиты, то вообще никак не реагирует.
Я правильно понял, что некоего стандартного сообщения окну – мол, прокрутись влево/вправо – нету? |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Sun Jun 27, 2010 11:07 am Post subject: |
|
|
Infocatcher
Если даже внешний вид меняется, то тут на сообщениях к окну дело не заканчивается  |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Sun Jun 27, 2010 2:27 pm Post subject: |
|
|
| Quote: | | Я правильно понял, что некоего стандартного сообщения окну – мол, прокрутись влево/вправо – нету? | Есть. Называется WM_HSCROLL, только мышь оно никак не касается.
Instructor
| Quote: | | Если даже внешний вид меняется, то тут на сообщениях к окну дело не заканчивается |
Но без утилитки мышиниый Ввод/Вывод должен работать в любом случае. Например можно попытаться реагировать на WM_INPUT, но тут уже неизбежна привязка к специфике устройства что не есть хорошо.
(MSDN пишет что VISTA есть что-то типа поддержки горизонтального колеса).
Вот где-бы достать двуколесную мышь, чтобы попробовать практически?  |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1431
|
Posted: Sun Jun 27, 2010 4:54 pm Post subject: |
|
|
| FeyFre wrote: | | Но без утилитки мышиниый Ввод/Вывод должен работать в любом случае. |
Угу, при первом подключении ставится какой-то драйвер от MS. Причем уже с ним в свойствах мыши появляется настройка горизонтальной прокрутки.
| FeyFre wrote: | (MSDN пишет что VISTA есть что-то типа поддержки горизонтального колеса).
Вот где-бы достать двуколесную мышь, чтобы попробовать практически?  |
В моем случае это Win 7 и отклоняющееся влево/вправо колесо.  |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Sun Jun 27, 2010 8:03 pm Post subject: |
|
|
| Quote: | | Угу, при первом подключении ставится какой-то драйвер от MS. Причем уже с ним в свойствах мыши появляется настройка горизонтальной прокрутки. | А как называется? Мышь HID или не-HID(впрочем это не важно)? | Quote: | | В моем случае это Win 7 и отклоняющееся влево/вправо колесо. | Ну во первых, у меня язык не поворачивается назвать это прокруткой. Скорее всего это две супер-хитрые кнопки, которые искусственно пытаются назвать горизонтальным скроллом.
Во вторых, у меня дежавю... и вот почему: | Quote: | | Более того, даже AkelPad 3.7.4 странно прокручивается – если с активна утилита для настройки мыши, то горизонтальная полоса прокрутки меняет внешний вид при прокрутке (похоже на отключение темы оформления), а если без утилиты, то вообще никак не реагирует. | Утилита часом называется на ipoint.exe ? (Хотя это не важно)
Дежавю потому что погуглив на предмет горизонтальной прокрутки попал я сюда и там точно такая же ситуация.
И на сколько я понял - лечения нам не видать. Стандартный мелкомягкий драйвер не понимает такого понятия как горизонтальная прокрутка. Возможно тот драйвер что доустанавливается уже и понимает, но выдает эти движения(по сути данные из устройства Мышь) в сыром виде. Сырой ввод хоть и проходит через окна, но в 99.(9)% случае не обрабатывается ими, а передается дальше в стандартные обработчики которые уже генерируют стандартные оконные сообщения пригодные для обработки. Только вот стандартные обработчики этого почему-то не делают, игнорируют(это называется правая рука не знает что делает левая). И потому и нужна утилита которая всё-таки обрабатывает сырой ввод от Мыши, генерируя нужные сообщения. Эта утилита небось вживляет свою DLL во все процессы, да? И заодно пытается умничать и навязывает свои скроллы тем кому они не нужны.
Выхода два:
1. Либо работаем только с утилитой.
2. Либо Инструктор делает то же, что и утилита
( WM_INPUT при GetRawInputData(lParam,...) которое возвращает тип события RIM_TYPEMOUSE и само событие - горизонтальная прокрутка преобразовать в WM_MOUSEHWHEEL)
Первое - неудобство для пользователей, второе - головная боль Инструктору, которая не факт что полезна(я лично не уверен что это правильный путь) |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1431
|
Posted: Sun Jun 27, 2010 10:07 pm Post subject: |
|
|
FeyFre
| Quote: | | А как называется? Мышь HID или не-HID(впрочем это не важно)? | Диспетчер устройств показывает как «Logitech HID-compliant M500 Laser Mouse».
| Quote: | | Утилита часом называется на ipoint.exe ? (Хотя это не важно) | Вообще ничего не важно, и все это только буквы на чьем-то экране.
Утилита самообзывается как «Logitech SetPoint Event Manager», SetPoint.exe.
| Quote: | | Эта утилита небось вживляет свою DLL во все процессы, да? |
Вроде бы, нет. Скрин.
Например, поиск по «pshook» (Punto Switcher) выдает почти все процессы. |
|
| Back to top |
|
 |
Lenchik
Joined: 10 Jan 2011 Posts: 150
|
Posted: Sat Feb 19, 2011 12:09 pm Post subject: |
|
|
А в плагине Explorer работает. И в окошке фолдинга у Coder. В чем разница скроллов там и в основном окне?
Заодно хотелось бы горизонтальной прокрутки списка вкладок, когда их много, по наведению мыши на зону отображения вкладок. Чтобы не тыкать те стрелочки, которые появляются. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Sat Feb 19, 2011 5:07 pm Post subject: |
|
|
Lenchik
В Explorer и Coder используется контрол SysTreeView32 производства Microsoft. В окне редактора - AkelEdit производства Инструктора. Наверное Microsoft знает больше об устройтсве Windows чем Инструктор. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1431
|
Posted: Thu Jul 14, 2011 7:55 pm Post subject: |
|
|
Instructor
Работает, но инвертировано.
И если зажать, то не прокручивает – только после каждого отдельного нажатия.
Еще в стандартном блокноте прокручивает на большее расстояние, а вот в Notepad++ – точно так же. Особая обработка, что ли. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Thu Jul 14, 2011 8:05 pm Post subject: |
|
|
| Infocatcher wrote: | Работает, но инвертировано.  | А так?
| Infocatcher wrote: | | И если зажать, то не прокручивает – только после каждого отдельного нажатия. | Видимо WM_MOUSEHWHEEL посылается не как WM_KEYDOWN. А MS Notepad обрабатывает зажатие?
| Infocatcher wrote: | | Еще в стандартном блокноте прокручивает на большее расстояние, а вот в Notepad++ – точно так же. Особая обработка, что ли. | Берется указанное в настройках системы количество прокручиваемых символов (SPI_GETWHEELSCROLLCHARS). |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1431
|
Posted: Thu Jul 14, 2011 8:17 pm Post subject: |
|
|
Instructor
С направлением теперь все правильно.
| Quote: | | А MS Notepad обрабатывает зажатие? |
Да.
Что интересно, если выгрузить специальную утилиту для настройки, то прокручиваться начинает везде одинаково. И начинает реагировать на зажатие.
А без утилиты неудобно – у меня там закрытие окна и Alt+Tab на дополнительных клавишах.  |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Thu Jul 14, 2011 8:24 pm Post subject: |
|
|
| Infocatcher wrote: | | С направлением теперь все правильно. | Эксперимент можно считать удавшимся
| Infocatcher wrote: | | Да. Что интересно, если выгрузить специальную утилиту для настройки, то прокручиваться начинает везде одинаково. И начинает реагировать на зажатие. | Похоже MS Notepad работает на более низком уровне. |
|
| Back to top |
|
 |
|