Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Колесо Добавлено: 07.07.03 08:37  

Автор вопроса:  admsasha | Web-сайт: dansoft.krasnokamensk.ru | ICQ: 234002454 

Как обрабатывать колесико мыши.

Или как заставить adodc понимать колесо мыши ?

Ответить

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

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



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #1
Добавлено: 07.07.03 11:44

Аналогично решал недавно для флексгрида - через субклассинг:

в модуле:

Public Declare Function SetWindowLong _
    Lib "user32" Alias "SetWindowLongA" ( _
        ByVal hwnd As Long, _
        ByVal nIndex As Long, _
        ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc _
    Lib "user32" Alias "CallWindowProcA" ( _
        ByVal lpPrevWndFunc As Long, _
        ByVal hwnd As Long, _
        ByVal Msg As Long, _
        ByVal wParam As Long, _
        ByVal lParam As Long) As Long

Private Const WM_MOUSEWHEEL = &H20A

Function SwapProcAB(ByVal hwnd As Long, ByVal Msg As Long, ByVal _
        wParam As Long, ByVal lParam As Long) As Long
    Dim lReturn As Long
    lReturn = CallWindowProc(formname.OldABProc, hwnd, Msg, wParam, lParam)
    Select Case Msg
        Case WM_MOUSEWHEEL
            formname.ScrollFlex wParam
    End Select
    SwapProcAB = lReturn
End Function

в форме:

Public OldABProc As Long
Private Const GWL_WNDPROC = (-4)

Private Sub Form_Load()

...
    OldABProc = SetWindowLong(Flex1.hwnd, GWL_WNDPROC, AddressOf SwapProcAB)
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
...

    SetWindowLong Flex1.hwnd, GWL_WNDPROC, OldABProc
End Sub

Переделай под себя аналогично - у меня работает отлично.

Ответить

Страница: 1 |

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



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