¿Cómo hacer que el control DATAGRID de VB admita la rueda del mouse?
Si necesitas un desplazamiento más fluido y personalizado, tengo el código y te lo enviaré cuando llegue el momento, para que puedas estudiarlo tú mismo.
Método de operación de ejemplo:
Escriba el siguiente código en el módulo público.
API que soporta ratón con rueda.
Constante pública GWL_WNDPROC = (-4)
Const pública WM_COMMAND = & ampH111
Const pública WM_MBUTTONDOWN = & ampH207
Public Const WM_MBUTTONUP=&H208
Public Const WM_MOUSEWHEEL=&H20A
Public Oldwinproc As Long
Función de declaración pública SetWindowLong Lib "user32 "Alias" SetWindowLongA "(ByVal hWnd As Long,_
ByVal nIndex tiene la misma longitud, ByVal dwNewLong tiene la misma longitud)
Función de declaración pública CallWindowProc Lib "user32 "Alias" CallWindowProcA "(ByVal lpPrevWndFunc As Long,_
ByVal hWnd es Long, ByVal Msg es Long, ByVal wParam es Long, ByVal lParam es Long)
Función de declaración pública GetWindowLong Lib "user32 "alias" GetWindowLongA "(ByVal hWnd As Long,_
ByVal nIndex tiene la misma longitud)
Función pública FlexScroll(ByVal hWnd es Long, ByVal wMsg es Long, ByVal wParam es Long, ByVal lParam es Long) admite el desplazamiento de la rueda para Long
2004-5-10 15:33
Seleccione el caso wMsg
Caso WM_mouse rueda p>
Seleccione Case wParam
Case-7864320 'Desplácese hacia abajo.
Enviar clave '{PGDN}'
Caso 7864320 'Enrollado.
SendKeys "{ PGUP }"
Finalizar selección
Finalizar selección
flex scroll = CallWindowProc(Oldwinproc, hWnd, wMsg, wParam , lParam)
Función final
API que admite mouse con rueda.
Escribe el siguiente código en el evento GotFocus del control de tabla.
Control infantil privado name_GotFocus()
oldwinproc = GetWindowLong(me. hwnd, GWL_WNDPROC)
SetWindowLong Me.hWnd, GWL_WNDPROC, dirección FlexScroll
Conector final
Escribe el siguiente código en el evento LostFocus del control de tabla.
Control infantil privado name_LostFocus()
SetWindowLong Me.hWnd, GWL_WNDPROC, Oldwinproc
Conector final