Есть в Aml Pages такая фигня, как умный mouse wheel, когда по вращению колесика мыши скроллится не панель с фокусом ввода (панель, которая будет принимать клавиатурный ввод), а панель именно под курсором мыши.
Дык вот написана отдельная тулза, которая оный фокес-покес распространяет на всю систему Windows (благо надоело лажаться в остальных программах). Писалось что называется на интерес, софтина фришная.
Рабочее название Mouse Hunter (сдвоенная система: очень тонкий агент, который выполняет всю полезную работу, и отдельный exe-шник на модной библиотеке для конфигурирования. Потому и отдельный, что для модного интерфейса настроек. В момент выполнения полезной работы сама "модная" библиотека не нужна).
Кому нить надо такое софтино? Могу выложить на сайт?
Тока эта... (C) Чего там в описании писать, бог его знает... Ну не филолог я Может народ поможет?
Post №: 1345
Joined: 16.04.10
Location: Cеверная столица
Rank:
0
Posted: 21.03.12 22:53. Post subject: Carc пишет: А что и..
Carc пишет:
quote:
А что именно не скроллится? Скрпиншотни что-ли...
А чего там скриншотить? При удержании пр.кл.мыши или соотв. клавиши на клавиауре должен происходить горизонтальный скроллинг (если страница шире экрана). Так вот НЕ СКРОЛЛИТСЯ.
Post №: 5934
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 21.03.12 23:32. Post subject: DenisSMI пишет: А ч..
DenisSMI пишет:
quote:
А чего там скриншотить? При удержании пр.кл.мыши или соотв. клавиши на клавиауре должен происходить горизонтальный скроллинг (если страница шире экрана). Так вот НЕ СКРОЛЛИТСЯ.
Как что скриншотить? Страницу Ворда.... Лучше один раз увидеть
У меня в 2003-го нет. Но кстати говоря даже в старинном 97-ом не скроллится... Любопытное явление...
Post №: 5936
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 21.03.12 23:39. Post subject: ОК. Буду ковырять на..
ОК. Буду ковырять на досуге. У меня ни при каких не скроллит горизонтально даже в 97-ом ворде, куда мыша не таскай по окну ворда. Вертикально все в порядке, а вот горизонтально - никак.
1c77 (понимает только WM_HSCROLL) 1c77 - shift + колесико на себя - право 1c77 - shift + колесико от себя - лево => все так, как и надо
ff 3.6.28 (понимает только WM_MOUSEHWHEEL) ff 3.6.28 - shift + колесико на себя - ЛЕВО ff 3.6.28 - shift + колесико от себя - ПРАВО => наоборот от того, как надо
chrome 17 (понимает как WM_HSCROLL, так и WM_MOUSEHWHEEL) chrome 17 - shift + колесико на себя - ДЕРГАНЬЕ ТУДА СЮДА chrome 17 - shift + колесико от себя - ДЕРГАНЬЕ ТУДА СЮДА => WM_HSCROLL пытается крутить в одну сторону, а WM_MOUSEHWHEEL в другую
===>>> ( === Posted: 28.12.11) из этого (chrome+ff) следует что посылка WM_MOUSEHWHEEL крутит не в ту сторону, что предполагается Вами, а в противоположную.
Post №: 5966
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 02.04.12 10:09. Post subject: DrakonHaSh пишет: c..
DrakonHaSh пишет:
quote:
c чего не знаю, но почему бы вам не выложить версию с инверсией WM_MOUSEHWHEEL - а я потещу и отпишусь о результатах.
Да я не против... Просто ее пока нет, потому что я не знаю что делать. Ты что предлагаешь? Добавить галку юзать WM_MOUSEHWHEEL для горизонтального скроллинга и собственно всё? Ставим галку - шлется HWHEEL, в остальном всё стандартно. Так?
Posted: 02.04.12 13:08. Post subject: ff 3.6.28 (понимает ..
ff 3.6.28 (понимает только WM_MOUSEHWHEEL) ff 3.6.28 - shift + колесико на себя - ЛЕВО (а надо право) ff 3.6.28 - shift + колесико от себя - ПРАВО (а надо лево) => наоборот от того, как надо
в тестовой версии меняем(инвертируем) направление прокрутки (*только* касательно WM_MOUSEHWHEEL), т.е. то "действие(WM_MOUSEHWHEEL)", которое происходит сейчас при "shift + колесико на себя" - перекидываем на "shift + колесико от себя" и наоборот.
Post №: 5969
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 02.04.12 14:57. Post subject: DrakonHaSh пишет: f..
DrakonHaSh пишет:
quote:
ff 3.6.28 - shift + колесико на себя - ЛЕВО (а надо лево) ff 3.6.28 - shift + колесико от себя - ПРАВО (а надо право)
Ничего не понял... Получаем лево, а надо влево... Что ты имел ввиду?
DrakonHaSh пишет:
quote:
в тестовой версии меняем(инвертируем) направление прокрутки (*только* касательно WM_MOUSEHWHEEL), т.е. то "действие(WM_MOUSEHWHEEL)", которое происходит сейчас при "shift + колесико на себя" - перекидываем на "shift + колесико от себя" и наоборот.
Инверт - это банальные детали, даже не 2 строки кода. Меня другое интересует. При заданной настройке (предпочитать HWHEEL или обычный HSCROLL) - это будет распространяться на все приложения. Т.е. или всем HWHEEL или всем HSCROLL.
Не буду скрывать я пьян я делал возможности кастомной настройки для конкретных приложений в ранних версиях. В стиле спая или Мапли - прицел на мыша, и перетаскиваем на таргетное приложение. Соответственно, это такой инструмент выбора. Но в UI он плохо вписывается.
Поэтому я предлагаю в первой тестовой версии сделать сначала выбор для всех (HWHEEL или HSCROLL). Потом будем думать. Я себе одно место на китайский флаг порвал, пока писал тул выбора. Но главное нужно поддерживать список выбранного в UI. А он уже фактически туда не влезает. Поэтому пока предлагаю просто сделать галку использовать HWHEEL для всех. Потом разберемся - может там всего будет с 4 приложений. Чего там тогда выбор писать - захардкодить их, и дело с концом.
Posted: 02.04.12 15:23. Post subject: Carc пишет: Инверт ..
Carc пишет:
quote:
Инверт - это банальные детали, даже не 2 строки кода. Меня другое интересует. При заданной настройке (предпочитать HWHEEL или обычный HSCROLL) - это будет распространяться на все приложения. Т.е. или всем HWHEEL или всем HSCROLL.
так блин, сделайте эти "2 строчки кода" и я успокоюсь т.к. скорее всего после этого все будет ок - во всех приложениях.
т.к. сейчас WM_MOUSEHWHEEL работает наоборот от нужного в обеих приложениях, что я тестировал - что в FF что в хроме.
Post №: 5971
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 02.04.12 15:33. Post subject: DrakonHaSh пишет: т..
DrakonHaSh пишет:
quote:
так блин, сделайте эти "2 строчки кода" и я успокоюсь т.к. скорее всего после этого все будет ок - во всех приложениях. т.к. сейчас WM_MOUSEHWHEEL работает наоборот от нужного в обеих приложениях, что я тестировал - что в FF что в хроме. с WM_HSCROLL все нормально, его не надо трогать.
1) В текущей версии вообще нет WM_MOUSEHWHEEL... Так что непонятно что там вообще может работать неверно, если его нет.
2) Я бы и не трогал HSCROLL. Но как приложение должно определять кому слать HWHEEL, а кому HSCROLL? Или должно быть задано условие для выбора, или оно будет всем подряд рассылать или первое, или второе. Я конечно могу сделать так, что сначала шлется HSCROLL, а потом HWHEELL. Опять же не нужно условия выбора кому что. По любому всем и первое и второе?
Posted: 02.04.12 21:29. Post subject: Привет, Carc. Все уж..
Привет, Carc. Все уже до тебя исследованно. 1) FF такой один, не понимающий HSCROLL. Так что определяем его по классу окна и шлем ему HWEEL, не забыв инвертировать направление. Всем остальным шлем HSCROLL. 2) В Word-е горизонтально не крутит потому что там не встроенные в окно сколбары, а scrollbarcontrol-ы, которые являются самостоятельными окнами. По MSDN-у, если шлется HSCROLL (или VSCROLL) от имени скролбарконтрола, в нем должен передаваться хендл этого контрола. Не все приложения придерживаются этого правила, но вот Word придерживается. Если нет хендла в сообщении, он ничего крутить не будет. Кстати Word не один такой. Таков весь Office и еще проги есть. На вопрос что делать я сам до сих пор ответить затрудняюсь. Нет никаких признаков, по которым можно достоверно соотнести скролбарконтролы с окном, которое они должны прокручивать. А если их не 2, а скажем 4, задачка становится еще веселее. Вобщем я перебираю все окна приложения, нахожу среди них скролбарконтролы, проверяю их колличество. Если более одного контрола одного типа (вертикального или горизонтального), то эти контролы отбрасываем - не судьба крутить в этом направлении. А вот если какой-то один, с его хендлом и шлем HSCROLL или VSCROLL. Да, забыл сказать, у меня вертикальная прокрутка по возможности идет через VSCROLL. У тебя нет, так что искать надо будет только горизонтальные скролбарконтролы. 3)Тут просят сделать настраиваемой скорость горизонтальной прокрутки. Это не покатит. Есть окна, в которых принципиально важно посылать 1 HSCROLL за один щелчек колеса. Лучше мерить время между сообщениями и, если оно меньше где-то 30 мсек, слать несколько HSCROLL (возможно с постепенным увеличением их колличества), иначе 1.
Post №: 5974
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 02.04.12 23:00. Post subject: GrelVl пишет: 1) FF..
GrelVl пишет:
quote:
1) FF такой один, не понимающий HSCROLL. Так что определяем его по классу окна и шлем ему HWEEL, не забыв инвертировать направление. Всем остальным шлем HSCROLL.
Чего то сумневаюся я... Наверняка и еще будут аппликухи такие. FF же не на голом асме писан, а фреймворк какой-нить. Соответственно должны быть и другие приложения.
Post №: 5975
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 02.04.12 23:01. Post subject: GrelVl пишет: 2) В ..
GrelVl пишет:
quote:
2) В Word-е горизонтально не крутит потому что там не встроенные в окно сколбары, а scrollbarcontrol-ы, которые являются самостоятельными окнами. По MSDN-у, если шлется HSCROLL (или VSCROLL) от имени скролбарконтрола, в нем должен передаваться хендл этого контрола. Не все приложения придерживаются этого правила, но вот Word придерживается. Если нет хендла в сообщении, он ничего крутить не будет. Кстати Word не один такой. Таков весь Office и еще проги есть. На вопрос что делать я сам до сих пор ответить затрудняюсь. Нет никаких признаков, по которым можно достоверно соотнести скролбарконтролы с окном, которое они должны прокручивать. А если их не 2, а скажем 4, задачка становится еще веселее. Вобщем я перебираю все окна приложения, нахожу среди них скролбарконтролы, проверяю их колличество. Если более одного контрола одного типа (вертикального или горизонтального), то эти контролы отбрасываем - не судьба крутить в этом направлении. А вот если какой-то один, с его хендлом и шлем HSCROLL или VSCROLL. Да, забыл сказать, у меня вертикальная прокрутка по возможности идет через VSCROLL. У тебя нет, так что искать надо будет только горизонтальные скролбарконтролы.
Да я не спорю. В принципе кастомизоваться несложно. Сложно как это толково описать, + дать пользователю возможности настройки, и так чтобы каждый чих не заставлял править код.
Post №: 5976
Joined: 28.05.05
Location: Россия, Москва
Rank:
2
Posted: 02.04.12 23:04. Post subject: GrelVl пишет: 3)Тут..
GrelVl пишет:
quote:
3)Тут просят сделать настраиваемой скорость горизонтальной прокрутки. Это не покатит. Есть окна, в которых принципиально важно посылать 1 HSCROLL за один щелчек колеса. Лучше мерить время между сообщениями и, если оно меньше где-то 30 мсек, слать несколько HSCROLL (возможно с постепенным увеличением их колличества), иначе 1.
Ускорение это следующий шаг. Просто сначала надо разобраться с HWHEEL\HSCROLL, потому как это даст кучу случаев. Если на это наложить еще кучу случаев ускорения - представлешь сколько получаем в результате матрицы вариантов конечного решения?
А если сначала разобраться хорошо с первой задачей, все корректно разобрать и описать. То сведется все к конечному числу случаев. И соответственно, даже кастомизация по второму случаю даст конечное число вариантов.
All times are GMT
3 Hours. Hits today: 2
You can: smiles yes, images yes, types yes, poll no
avatars yes, links on, premoderation off, edit new post no