| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:mshflexgrid模拟鼠标滚轮没反应。
只看楼主 加入收藏
m446781380
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2023-2-27
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
mshflexgrid模拟鼠标滚轮没反应。
前段时间采用代码解决了mshflexgrid鼠标滚轮的功能,能够正常使用。今天电脑加了局域网之后,该功能不能用了。但是别的电脑还正常能使用。请大神帮忙看看,可能是哪里出了问题。程序已经重新安装过,还是这样。
代码如下:
程序代码:
Option Explicit
Public Const GWL_WNDPROC = (-4)
    Public Const WM_COMMAND = &H111
    Public Const WM_MBUTTONDOWN = &H207
    Public Const WM_MBUTTONUP = &H208
    Public Const WM_MOUSEWHEEL = &H20A
   
    Public Oldwinproc 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 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 Function FlexScroll(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'支持滚轮的滚动
    Select Case wMsg
    Case WM_MOUSEWHEEL
        Select Case wParam
        Case -7864320  '向下滚
            SendKeys "{down}"
        Case 7864320   '向上滚
            SendKeys "{UP}"
        End Select
                
    End Select
    FlexScroll = CallWindowProc(Oldwinproc, hWnd, wMsg, wParam, lParam)
End Function


程序代码:
Private Sub MSHFlexGrid1_GotFocus()
Oldwinproc = GetWindowLong(Me.hWnd, GWL_WNDPROC)
SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf FlexScroll
End Sub

Private Sub MSHFlexGrid1_LostFocus()
SetWindowLong Me.hWnd, GWL_WNDPROC, Oldwinproc
End Sub
搜索更多相关主题的帖子: ByVal hWnd Public Const Long 
2023-10-13 10:55
约定的童话
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:56
帖 子:246
专家分:1442
注 册:2021-8-1
收藏
得分:20 
软件放在哪?别的电脑指的是局域网中其他的电脑还是其他单独的电脑?
2023-10-13 12:40
m446781380
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2023-2-27
收藏
得分:0 
回复 2楼 约定的童话
同样的软件,安装在了局域网内不同电脑上,除了我的电脑以外,其他几台电脑上安装的都正常。我的电脑在加入局域网前鼠标滚轮的功能是可以用的,现在不能用了。
另外,我测试了安装文件,将其安装在局域网外的其他电脑上,功能又是正常的。
2023-10-13 16:25
约定的童话
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:56
帖 子:246
专家分:1442
注 册:2021-8-1
收藏
得分:0 
回复 3楼 m446781380
这么玄乎的吗?电脑是不是改了哪里导致?注册表?
2023-10-14 07:11
m446781380
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2023-2-27
收藏
得分:0 
回复 4楼 约定的童话
问题就在这儿,我一直查不出问题到底出在哪里。
同事的电脑,也是在软件正常使用的情况下,加入的局域网,然后功能一切正常。。
我的电脑就单单这个功能不能使用,其他功能也正常。然后我还重装了系统。不加入局域网的情况下,鼠标滚轮是正常的,但是一加入之后又不行了。
2023-10-15 16:08
m446781380
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2023-2-27
收藏
得分:0 
还有哪位大神能帮忙看看,估计一下问题到底出在哪里
2023-10-31 14:06
m446781380
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2023-2-27
收藏
得分:0 
回复 4楼 约定的童话
我再次重装了系统。在加入域网之前,功能是正常的。加入之后,鼠标滚轮对mshflexgird控件就不管用了。整个软件中也没有写任何修改注册表的代码。
2023-10-31 14:07
快速回复:mshflexgrid模拟鼠标滚轮没反应。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018055 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved