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

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

Страницы: 1 2 3 4 5 6 Следующая »
#15
(Правка: 23 июня 2026, 17:14) 7:38, 18 июня 2026

file=191857]
MouseWheeL_2026-06-18_09-33.rar
поправил демонстрационный пример переделки  MouseScrollEvent в VScrollM
потом удалил

#16
8:00, 18 июня 2026

добавил реакцию на привязанные контролы в любом случае, и в анимацию добавил нижнюю зелёную полосу когда колёсико мыши крутят над привязанным контролом

#17
(Правка: 27 июня 2026, 19:00) 6:52, 19 июня 2026

[file=191868]
'
'ВНИМАНИЕ:
' тут пример как НЕ надо делать
' а именно ставить перехват колёсика мыши MouseScrollEvent
' внутрь пользовательского элемента UserControl И ЗАПУСКАТЬ ЕГО ИЗ UserControl
'
' во первых конфликт за мышь при нескольких элементах на форме (что уже делает бесмысленным всё это)
' во вторых на стадии редактирования контрол уже пытается сделать a_Init
' что приводит к обрушению редактора VB6
'
так нельзя:

Private Sub UserControl_Initialize()
 UserControl.MouseScrollEvent1.a_Init UserControl.hwnd
End Sub
Private Sub UserControl_Terminate()
 UserControl.MouseScrollEvent1.a_InitStop
End Sub

а так можно:

Private Sub Form_Load()
  Me.MouseScrollEvent1.a_Init Me.hwnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Me.MouseScrollEvent1.a_InitStop
End Sub
#18
(Правка: 20 июня 2026, 18:21) 11:44, 19 июня 2026

[file=191949]

#19
19:32, 20 июня 2026

Это уже на что-то похоже.
Только мне режут глаз названия, типа "Scrol" (с одной "l"), "Fokus" (а не "Focus") или "PoiskObject".
Ещё корявые такие моменты: "Public Sub Render". В данном контексте "Sub Render" явно должна быть "Private".
Если пишешь не для себя, тут нужно соблюдать стиль гораздо строже.
Не очень понял смысл префикса "a_".
Противоположность "Init" - это "Term", а не "InitStop". Форматирование малочитаемое - отступы от балды.

#20
(Правка: 23 июня 2026, 17:16) 19:33, 20 июня 2026

чуть изменил контрол MouseScrollEvent.ctl убрал 2-а метода с префиксом a_ из публичного доступа и теперь список нужных для работы методов теперь состоит из 4-ёх пунктов начинающихся на префикс a_

Me.MouseScrollEvent1.a_Init                     
Me.MouseScrollEvent1.a_InitFormObject_Add
Me.MouseScrollEvent1.a_InitFormObject_Delete
Me.MouseScrollEvent1.a_InitStop
#21
19:34, 20 июня 2026

ну да согласен с аккуратностью у меня проблемы - упор делаю на скорость так как далеко не всегда есть время сосредоточиться всерьёз

#22
(Правка: 23 июня 2026, 17:16) 19:37, 20 июня 2026

InitStop - в данном случае стоп возможному вызову из Windows в программу - как то так думал - стоп стоп Windows отстань от проги и дай ей спокойно закрыться

#23
19:39, 20 июня 2026

уупс "Public Sub Render" тут реально косяк

#24
19:40, 20 июня 2026

"Fokus" убрад сегодня из общего доступа

#25
19:43, 20 июня 2026

префикс a_ так я выделяю чтобы наверху списка было то что в 99 процентах случаев используется (иногда забываю название которое выдумал а так точно не перепутаешь где новодел)

#26
19:45, 20 июня 2026

Neirapik
> "Fokus" убрад сегодня из общего доступа
Там само название с ошибкой.

#27
19:46, 20 июня 2026

"PoiskObject" - тут я думал внутри и ладно а про Find и не вспомнил даже

#28
19:49, 20 июня 2026

как вариант завтра заняться причёской кода и тут придётся стирать исходник ради Scroll и делать новый - решаемый вопрос. Тут главный ВОПРОС как всё это работает на другом компе т.е. у тебя?

#29
19:50, 20 июня 2026

Neirapik
> ут главный ВОПРОС как всё это работает на другом компе т.е. у тебя?
Да куда оно денется? Работает.

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