Вело-изобретателиФорумНюансы программирования на VB6

Контрол для опроса Mouse Wheel (колёсико мыши) (6 стр)

Страницы: 1 2 3 4 5 6
#75
(Правка: 20:04) 19:41, 1 июля 2026

статья о различиях DirectInput и XInput
DirectInput поддерживает 8 осей, 128 кнопок и 8-ми позиционный переключатель видов (POV). Это необходимо для сложных боевых рулей, джойстиков для авиасимуляторов или контроллеров для специализированных игр.

XInput ограничен 4 осями (два аналоговых стика), 10 кнопками, двумя триггерами и крестовиной направления. Кажется, мало, но этого вполне достаточно для подавляющего большинства игр.

а более совершенный Microsoft GameInput  вызывает частый вопрос в инете как его удалить т.к. нарушается работа компа

#76
20:14, 1 июля 2026

И последнее на сегодня (а то начну флудить от недосыпа)  там в dll мышиной помимо колёсика ещё и координаты мыши  x,y на экране с возможностью вычислить относительные координаты - относительно дескриптора экранного объекта
смотрел ещё опрос HID USB устройств там не разу не проще.
(всё закругляюсь и спать)

#77
(Правка: 8 июля 2026, 6:59) 10:05, 3 июля 2026

Neirapik

MouseWheeL_2026-06-29_19-36_Scroll_DLL-коррект_закрытие.rar
слишком много точек обрыва связи с мышью понаставил что иногда при переходе с формы на форму с закрытием предыдущей иногда происходит полное обрывание всех связей с мышью.
Решение - отключил проверку текущего существования дескриптора, оставил обработку освобождения адресного пространства dll вследствии закрытия процесса хозяина и добавил повторную привязку мыши по КЛИКУ левой кнопкой мыши по окошку контрола MouseScrollEvent.ctl (клик позволяет восстановить привязку если элемент связи завис - закрывает и открывает связь заново)

тут я ошибся - связь с потоком сообщений не прерывается, просто попадал мышкой на форме по объекту которые имеют свой встроенный фокус на колёсико мыши (List , ListBox ...) и они перетягивают внимание Windows на себя и чтобы вернуть поток сообщений достаточно ткнуть по любому объекту на форме способному перетянуть фокус на себе то есть просто снять фокус с вышеуказанных объектов.
Но

по окошку контрола MouseScrollEvent.ctl (клик позволяет восстановить привязку если элемент связи завис - закрывает и открывает связь заново)

убирать не буду - как говорится в поговорке - "заглючило - перезагрузи" не помешает такая функция в контроле

#78
(Правка: 11:03) 10:57, 3 июля 2026

Мысли вслух (не истина) на основе изучения опроса HID USB устройств: Похоже что DirectInput и XInput и HID USB тоже работают через API Windows (и даже если по другому) - вопрос почему они (эти надстройки) не добавили пару внятных функций описывающих
1. что реально подключено 
2. чего - в каком виде и формате,структуре выдают инфу в комп?
ну и на закуску
3. подписка на получение из выбранного (по списку из п.1) устройства в формате из п.2
и стандартное
4. отключение подписки
В общем - ну почему всё всегда на несколько порядков сложнее, когда на практике нужно и достаточно вышеописанного!!!!!!!!!!
Вопрос: может я чего нибудь пропустил и подобное есть? (очень на это надеюсь) 
P.S. пардон за этот вопрос немного не по теме, просто чайник в голове немного закипел после поисков в инете

Страницы: 1 2 3 4 5 6
Вело-изобретателиФорумНюансы программирования на VB6