AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Горизонтальная прокрутка
Goto page 1, 2  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
Infocatcher



Joined: 06 Aug 2007
Posts: 1646

PostPosted: Sat Jun 26, 2010 9:17 pm    Post subject: Reply with quote

В окне AkelPad'а не работает горизонтальная прокрутка, реализованная в некоторых мышках.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5510

PostPosted: Sun Jun 27, 2010 10:18 am    Post subject: Reply with quote

Infocatcher
Кто его знает, как драйвер мыши пытается обращаться к окну редактирования. Даже быть может, что драйвер поддерживает только какие-то определенные окна (классы). Попробуйте указать "RichEditClass=1".
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1646

PostPosted: Sun Jun 27, 2010 10:42 am    Post subject: Reply with quote

Instructor wrote:
Попробуйте указать "RichEditClass=1".

Не помогло.
Более того, даже AkelPad 3.7.4 странно прокручивается – если с активна утилита для настройки мыши, то горизонтальная полоса прокрутки меняет внешний вид при прокрутке (похоже на отключение темы оформления), а если без утилиты, то вообще никак не реагирует.

Я правильно понял, что некоего стандартного сообщения окну – мол, прокрутись влево/вправо – нету?
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5510

PostPosted: Sun Jun 27, 2010 11:07 am    Post subject: Reply with quote

Infocatcher
Если даже внешний вид меняется, то тут на сообщениях к окну дело не заканчивается Smile
Back to top
View user's profile Send private message Send e-mail
FeyFre



Joined: 07 Aug 2007
Posts: 2060
Location: Vinnitsa, Ukraine

PostPosted: Sun Jun 27, 2010 2:27 pm    Post subject: Reply with quote

Quote:
Я правильно понял, что некоего стандартного сообщения окну – мол, прокрутись влево/вправо – нету?
Есть. Называется WM_HSCROLL, только мышь оно никак не касается.

Instructor
Quote:
Если даже внешний вид меняется, то тут на сообщениях к окну дело не заканчивается

Но без утилитки мышиниый Ввод/Вывод должен работать в любом случае. Например можно попытаться реагировать на WM_INPUT, но тут уже неизбежна привязка к специфике устройства что не есть хорошо.
(MSDN пишет что VISTA есть что-то типа поддержки горизонтального колеса).
Вот где-бы достать двуколесную мышь, чтобы попробовать практически? Smile
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Infocatcher



Joined: 06 Aug 2007
Posts: 1646

PostPosted: Sun Jun 27, 2010 4:54 pm    Post subject: Reply with quote

FeyFre wrote:
Но без утилитки мышиниый Ввод/Вывод должен работать в любом случае.

Угу, при первом подключении ставится какой-то драйвер от MS. Причем уже с ним в свойствах мыши появляется настройка горизонтальной прокрутки.

FeyFre wrote:
(MSDN пишет что VISTA есть что-то типа поддержки горизонтального колеса).
Вот где-бы достать двуколесную мышь, чтобы попробовать практически? Smile

В моем случае это Win 7 и отклоняющееся влево/вправо колесо. Smile
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2060
Location: Vinnitsa, Ukraine

PostPosted: Sun Jun 27, 2010 8:03 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Infocatcher



Joined: 06 Aug 2007
Posts: 1646

PostPosted: Sun Jun 27, 2010 10:07 pm    Post subject: Reply with quote

FeyFre
Quote:
А как называется? Мышь HID или не-HID(впрочем это не важно)?
Диспетчер устройств показывает как «Logitech HID-compliant M500 Laser Mouse».

Quote:
Утилита часом называется на ipoint.exe ? (Хотя это не важно)
Вообще ничего не важно, и все это только буквы на чьем-то экране. Very Happy
Утилита самообзывается как «Logitech SetPoint Event Manager», SetPoint.exe.

Quote:
Эта утилита небось вживляет свою DLL во все процессы, да?

Вроде бы, нет. Скрин.
Например, поиск по «pshook» (Punto Switcher) выдает почти все процессы.
Back to top
View user's profile Send private message Visit poster's website
Lenchik



Joined: 10 Jan 2011
Posts: 291

PostPosted: Sat Feb 19, 2011 12:09 pm    Post subject: Reply with quote

А в плагине Explorer работает. И в окошке фолдинга у Coder. В чем разница скроллов там и в основном окне?

Заодно хотелось бы горизонтальной прокрутки списка вкладок, когда их много, по наведению мыши на зону отображения вкладок. Чтобы не тыкать те стрелочки, которые появляются.
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2060
Location: Vinnitsa, Ukraine

PostPosted: Sat Feb 19, 2011 5:07 pm    Post subject: Reply with quote

Lenchik
В Explorer и Coder используется контрол SysTreeView32 производства Microsoft. В окне редактора - AkelEdit производства Инструктора. Наверное Microsoft знает больше об устройтсве Windows чем Инструктор.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5510

PostPosted: Thu Jul 14, 2011 7:34 pm    Post subject: Reply with quote

Сделано по аналогии с WM_MOUSEWHEEL. Требуются владельцы мышек для проверки:
http://akelpad.sourceforge.net/files/AkelPad.zip
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1646

PostPosted: Thu Jul 14, 2011 7:55 pm    Post subject: Reply with quote

Instructor
Работает, но инвертировано. Smile
И если зажать, то не прокручивает – только после каждого отдельного нажатия.
Еще в стандартном блокноте прокручивает на большее расстояние, а вот в Notepad++ – точно так же. Особая обработка, что ли.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5510

PostPosted: Thu Jul 14, 2011 8:05 pm    Post subject: Reply with quote

Infocatcher wrote:
Работает, но инвертировано. Smile
А так?
Infocatcher wrote:
И если зажать, то не прокручивает – только после каждого отдельного нажатия.
Видимо WM_MOUSEHWHEEL посылается не как WM_KEYDOWN. А MS Notepad обрабатывает зажатие?
Infocatcher wrote:
Еще в стандартном блокноте прокручивает на большее расстояние, а вот в Notepad++ – точно так же. Особая обработка, что ли.
Берется указанное в настройках системы количество прокручиваемых символов (SPI_GETWHEELSCROLLCHARS).
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1646

PostPosted: Thu Jul 14, 2011 8:17 pm    Post subject: Reply with quote

Instructor
С направлением теперь все правильно.

Quote:
А MS Notepad обрабатывает зажатие?

Да.
Что интересно, если выгрузить специальную утилиту для настройки, то прокручиваться начинает везде одинаково. И начинает реагировать на зажатие.
А без утилиты неудобно – у меня там закрытие окна и Alt+Tab на дополнительных клавишах. Very Happy
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5510

PostPosted: Thu Jul 14, 2011 8:24 pm    Post subject: Reply with quote

Infocatcher wrote:
С направлением теперь все правильно.
Эксперимент можно считать удавшимся Smile

Infocatcher wrote:
Да. Что интересно, если выгрузить специальную утилиту для настройки, то прокручиваться начинает везде одинаково. И начинает реагировать на зажатие.
Похоже MS Notepad работает на более низком уровне.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group