Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Контрол работающий с колесом мыши Добавлено: 15.12.06 01:31  

Автор вопроса:  Shark | Web-сайт: www.ma26.ru | ICQ: 284036855 
Кто нибудь знает контрол который сможет словить прокрутку и изменить свое внутреннее свойство

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 JMP



Вопросов: 6
Ответов: 171
 Профиль | | #1 Добавлено: 15.12.06 02:39
Это не контрол.
Вам нужно отлавливать сообщение WM_MOUSEWHEEL
в колл-бэке и соответственно на него реагировать

Ответить

Номер ответа: 2
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #2 Добавлено: 15.12.06 13:49
В модуле:


Private Declare Function CallWindowProcA Lib "user32" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowTextA Lib "user32" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Const GWL_WNDPROC = -4
Private Const WM_MOUSEWHEEL = &H20A
Private lpPrevWndProc As Long, Wheel As Integer

Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
On Error GoTo xErr
    
    If uMsg = WM_MOUSEWHEEL Then
        If wParam = -7864320 Or wParam = -23592960 Or wParam = -15728640 Then
            'Колесо крутят назад

        End If
        If wParam = 7864320 Or wParam = 23592960 Or wParam = 15728640 Then
            'Колесо крутят вперед

        End If
    Else
        WindowProc = CallWindowProcA(lpPrevWndProc, hwnd, uMsg, wParam, lParam)
    End If

xErr:

End Function

Sub Hook(hwnd As Long)
    lpPrevWndProc = SetWindowLongA(hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub

Sub UnHook(hwnd As Long)
    Call SetWindowLongA(hwnd, GWL_WNDPROC, lpPrevWndProc)
End Sub



В форме:


Call Hook(Me.hwnd)'Включаем слежение

Call UnHook(Me.hwnd)'Выключаем слежение

Ответить

Номер ответа: 3
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #3 Добавлено: 15.12.06 16:00
Только лучше этот код компилить, а потом запускать EXE, а то при HOOK'ах после закрытия проги запущенной в IDE, басик вылетает не сказав Save...

Ответить

Номер ответа: 4
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #4
Добавлено: 16.12.06 22:36
Хотелось именно контрол, потому что кое где оно работает

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам