Вверх ↑
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
#1: 2013-10-11 13:08:17 ЛС | профиль | цитата
Точки OnScroll вроде нету у элементов. Как отловить скролл окна под курсором - мышью (тачпадом) или ползунком справа?
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26148
Рейтинг: 2126
#2: 2013-10-11 13:17:56 ЛС | профиль | цитата
А это я кому пример давал -- http://forum.d2h.ru/forum.html?q=3&p=256490#p256490, ни тебе ли случаем
карма: 22

0
Ответов: 163
Рейтинг: 33
#3: 2013-10-11 13:31:38 ЛС | профиль | цитата
У главной формы есть событие onMouseWheel.
------------ Дoбавленo в 13.31:
Пардон, onMouseWheel не отлавливает перемещение ползунка. nesco, а ваш пример не отлавливает прокрутку колеса.
карма: 3

0
Ответов: 1291
Рейтинг: 47
#4: 2013-10-11 13:40:40 ЛС | профиль | цитата
nesco, этот пример я нашел уже, но он отлавливает только если мышью тянуть ползунок, а тачпадом если прокручивать то не реагирует. И к тому же как я определю Phandle (указатель на элемент) чужого окна под курсором?
GreM, колесо мыши и прокрутка скроллом тачпада вроде как разные вещи:

code_31998.txt

Прокручиваю тачпадом - ноль реакции. Это тоже самое что скролл ползунком.
------------ Дoбавленo в 13.40:
И еще вопрос на засыпку, как сделать главную форму модальной глобально, без pop-up механизма, возможно ли это? А то pop-up убивает скролл на других формах.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
файлы: 1code_31998.txt [449B] [338]
Ответов: 1061
Рейтинг: 22
#5: 2013-10-11 13:47:39 ЛС | профиль | цитата
Aziz писал(а):
как сделать главную форму модальной глобально

Что ты имеешь ввиду под словом глобально? Глобально для программы или винды?
карма: 0

0
Ответов: 1291
Рейтинг: 47
#6: 2013-10-11 13:53:29 ЛС | профиль | цитата
Для винды - ну также как поп-ап поплавок действует.

карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 163
Рейтинг: 33
#7: 2013-10-11 13:53:54 ЛС | профиль | цитата
Aziz писал(а):
колесо мыши и прокрутка скроллом тачпада вроде как разные вещи

Одинаковые. Но вместе с драйвером тачпада часто идет софт для перенаправления прокрутки в окно под курсором. Дополнительно этот софт может заменять сообщения WM_MOUSEWHEEL на WM_SCROLL. Скорее всего поэтому пример и не работает на тачпаде. Кстати, у меня подобная собственная программа для перенаправления прокрутки. Пока она запущена, пример и на стандартной мыши не работает.
карма: 3

0
Разработчик
Ответов: 26148
Рейтинг: 2126
#8: 2013-10-11 13:57:34 ЛС | профиль | цитата
GreM писал(а):
ваш пример не отлавливает прокрутку колеса

Этот пример показывает, как использовать нериализованные события контрола. Как onScroll реализован в объектной библиотеке, так он и работает. Во времена создания объектной библиотеки KOL не было еще тачпадов
карма: 22

0
Ответов: 1291
Рейтинг: 47
#9: 2013-10-11 13:58:44 ЛС | профиль | цитата
Скролл чужого окна можно отловить наверное только через отслеживание сообщений его окна WM_VSCROLL

http://msdn.microsoft.com/en-us/library/windows/desktop/bb787577(v=vs.85).aspx
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26148
Рейтинг: 2126
#10: 2013-10-11 14:00:23 ЛС | профиль | цитата
Aziz писал(а):
через отслеживание сообщений его окна WM_VSCROLL

Это надо писать перехватчик сообщений конкретным окнам. Странная какая-то задача, которая требует таких телодвижений.
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2013-10-11 14:05:10 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 12:33:31
карма: 0

0
Ответов: 4630
Рейтинг: 749
#12: 2013-10-11 14:06:43 ЛС | профиль | цитата
Aziz, проще взять картонку размером в монитор и вырезать в ней прямоугольную дырку
карма: 26

0
Ответов: 163
Рейтинг: 33
#13: 2013-10-11 14:14:00 ЛС | профиль | цитата
nesco писал(а):
Этот пример показывает, как использовать нериализованные события контрола.

Да, пример познавательный, согласен.

Aziz, явно не хватает конретики в постановке вопроса. Из первого поста можно было подумать что это нужно для своего окна. Потом выясняется что для чужих. Давай подробности.
карма: 3

0
Ответов: 1291
Рейтинг: 47
#14: 2013-10-11 14:40:09 ЛС | профиль | цитата
Netspirit, я наверное скоро так и сделаю..
GreM, http://forum.d2h.ru/forum.html?q=3&t=63343 там в конце прога.

А чего это домен Хиасма поменялся? Близится конец света?)
------------ Дoбавленo в 14.40:
Я бдительный к фишингу юзер..))
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1061
Рейтинг: 22
#15: 2013-10-11 14:45:20 ЛС | профиль | цитата
Aziz писал(а):
А чего это домен Хиасма поменялся?

Ты про d2h? Он давнишний!)
------------ Дoбавленo в 14.45:
GreM писал(а):
как сделать главную форму модальной глобально

Add(MainForm,2953706,147,119)
{
Point(Handle)
Point(doShowModal)
Point(onKillFocus)
Point(onSetFocus)
Point(doSetFocus)
link(onKillFocus,7356450:doEvent1,[])
}
Add(WinTools,7136601,147,189)
{
link(Handle,2953706:Handle,[])
}
Add(Hub,7356450,196,140)
{
link(onEvent1,2953706:doSetFocus,[(221,146)(221,111)(137,111)(137,160)])
link(onEvent2,7136601:doActive,[(221,153)(221,230)(137,230)(137,209)])
}
В теории должен работать, но не работает!)
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)