Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Включаем прокрутку колёсиком мышки для ListBox и ComboBox на x86 и x64
 
Вот чуток доработанный файл, позволяющий прокручивать ListView (если кому интересно). Только надо объявить Private oCtl As Object
Код
Private Function MouseRotate_VBA7(ByVal nCode As Long, ByVal wParam As LongPtr, ByRef lParam As MOUSEHOOKSTRUCT) As LongPtr
    Dim n&
    On Error GoTo ErrHandler
    If wParam = &H20A Then
        If lParam.hWnd > 0 Then n = -1 Else n = 1
        If TypeOf oCtl Is MSForms.ListBox Then
            n = n + oCtl.TopIndex
            If n >= 0 Then oCtl.TopIndex = n: Exit Function
        ElseIf TypeOf oCtl Is MSComctlLib.ListView Then
            Dim currentIndex As Long
            Dim i As Long
            currentIndex = oCtl.selectedItem.index
            ' Вычисляем новый индекс
            n = currentIndex + n
            If n < 1 Then
                n = 1 ' Ограничиваем до первого элемента
            ElseIf n > oCtl.ListItems.count Then
                n = oCtl.ListItems.count ' Ограничиваем до последнего элемента
            End If
            
            ' Снимаем выделение со всех элементов и выделяем новый
            For i = 1 To oCtl.ListItems.count
                oCtl.ListItems(i).Selected = False
            Next i
            
            oCtl.ListItems(n).Selected = True
            oCtl.ListItems(n).EnsureVisible
            Exit Function
        End If
    End If
    MouseRotate_VBA7 = CallNextHookEx(nMouseHook, nCode, wParam, ByVal lParam)
    Exit Function
ErrHandler:
    MsgBox "Произошла ошибка в MouseRotate_VBA7 " & Err.Description, vbCritical, "Ошибка"
    Err.Clear
    UnHookScroll
End Function

И да! Не моё. Автор EvA
Изменено: fesh66 - 15.01.2025 07:43:08
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Спасибо за совет! Ho у меня не было цели вызывать форму из другого файла. Это я, как сейчас говорят, делал "рефакторинг" )))
OOps! Заголовок темы невнимательно прочитал. Прошу прощения...
Изменено: fesh66 - 10.08.2024 17:10:47
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Лучше поздно, чем никогда.
Я криворучил так.

В модуле формы

Код
Private Sub lstMtrls_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    eventName = "lstMtrls_DblClick"
    Overheads (eventName)
End Sub

в общем модуле
Код
Public eventName As String

Sub Overheads(ByVal eventName, Optional KeyAscii)       
    Dim i As Integer, j As Integer, k As Integer
    Dim arrAMnt() As String, a As String
    'MsgBox eventName
    With frmWorks
        Select Case eventName
            Case .....

            Case "lstMtrls_DblClick"       
              Какой-то код

        End Select
    End With
End Sub

Изменено: fesh66 - 18.07.2024 14:46:39
Страницы: 1
Наверх