file=191857]
MouseWheeL_2026-06-18_09-33.rar
поправил демонстрационный пример переделки MouseScrollEvent в VScrollM
потом удалил
добавил реакцию на привязанные контролы в любом случае, и в анимацию добавил нижнюю зелёную полосу когда колёсико мыши крутят над привязанным контролом
[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
[file=191949]
Это уже на что-то похоже.
Только мне режут глаз названия, типа "Scrol" (с одной "l"), "Fokus" (а не "Focus") или "PoiskObject".
Ещё корявые такие моменты: "Public Sub Render". В данном контексте "Sub Render" явно должна быть "Private".
Если пишешь не для себя, тут нужно соблюдать стиль гораздо строже.
Не очень понял смысл префикса "a_".
Противоположность "Init" - это "Term", а не "InitStop". Форматирование малочитаемое - отступы от балды.
чуть изменил контрол MouseScrollEvent.ctl убрал 2-а метода с префиксом a_ из публичного доступа и теперь список нужных для работы методов теперь состоит из 4-ёх пунктов начинающихся на префикс a_
Me.MouseScrollEvent1.a_Init Me.MouseScrollEvent1.a_InitFormObject_Add Me.MouseScrollEvent1.a_InitFormObject_Delete Me.MouseScrollEvent1.a_InitStop
ну да согласен с аккуратностью у меня проблемы - упор делаю на скорость так как далеко не всегда есть время сосредоточиться всерьёз
InitStop - в данном случае стоп возможному вызову из Windows в программу - как то так думал - стоп стоп Windows отстань от проги и дай ей спокойно закрыться
уупс "Public Sub Render" тут реально косяк
"Fokus" убрад сегодня из общего доступа
префикс a_ так я выделяю чтобы наверху списка было то что в 99 процентах случаев используется (иногда забываю название которое выдумал а так точно не перепутаешь где новодел)
Neirapik
> "Fokus" убрад сегодня из общего доступа
Там само название с ошибкой.
"PoiskObject" - тут я думал внутри и ладно а про Find и не вспомнил даже
как вариант завтра заняться причёской кода и тут придётся стирать исходник ради Scroll и делать новый - решаемый вопрос. Тут главный ВОПРОС как всё это работает на другом компе т.е. у тебя?
Neirapik
> ут главный ВОПРОС как всё это работает на другом компе т.е. у тебя?
Да куда оно денется? Работает.