我的dbgrid里面有10000条数据,DBGRid右边有滚动条
但是滚动条必须用鼠标拉
用中间的滚轮 滚动时 可右边的滚动条不动
是怎么回事啊?
但是滚动条必须用鼠标拉
用中间的滚轮 滚动时 可右边的滚动条不动
是怎么回事啊?
解决方案 »
- rave report 控件 中 我打印两份
- 数据统计图.
- 这splitter吗??
- Directory is controlled by other .NET file.
- 用什么方法可以使按钮按下去又弹回来?
- SQL SERVER备份、附加问题
- 请大侠们帮着看年下面的代友错误在哪里?
- 关于98下的字体问题?急急急急急急急急急急急急急急急急急急急急急急急
- 请问什么是状态迁移图(高程中的),谁知道它的定义和用法等,送分
- 各位老大:Delphi中怎么重载运算符?
- 又开一帖!!好象是最简单的问题,".DB文件的读取",靠!!以前没有的,换操作系统都这样,我晕!!!!!
- 为什么用try...except无法立即测试出是否与远程数据库连接成功?
'mouse
prevWndProc = GetWindowLong(Frm_GameList.DataGrid1.hWnd, GWL_WNDPROC)
Call SetWindowLong(Frm_GameList.DataGrid1.hWnd, GWL_WNDPROC, AddressOf WndProc)在Module中,加入Option ExplicitPublic Const GWL_WNDPROC = (-4)
Public Const WM_COPYDATA = &H4A
Public Const WM_MOUSEWHEEL = &H20A
Public Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As Long
End TypePublic 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
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Sub RtlMoveMemory Lib "kernel32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)Public prevWndProc As Long
Public Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = WM_MOUSEWHEEL Then
With Frm_GameList.DataGrid1
If wParam = -7864320 Then
.Scroll 0, 5ElseIf wParam = 7864320 Then
.Scroll 0, -5End If
End With
Else
WndProc = CallWindowProc(prevWndProc, hWnd, Msg, wParam, lParam)
End If
End Function
form unload事件中'mouse
Call SetWindowLong(Frm_GameList.DataGrid1.hWnd, GWL_WNDPROC, prevWndProc1)
好用多了^_^http://www.51delphi.com/delphi/soft?cx=ehlib