- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vb鼠标编程的实现【DOC精选】
本例代码中包含vb鼠标的整体解决,不仅仅是解决滚轮问题!
vb滚轮的实现,不管是钩子还是子分类方式都极不稳定,
容易导致应用程序中止退出。
还是老外厉害,同样是api方式实现,
但本例的实现近乎完美,极其稳定!
缺陷大概是需要写多处的代码,滚动前需要单击滚轮
首先把模块MHookXP.bas,类CHookMouseWheel.cls,类CHookMouseEvents.cls加入你的工程中(在文档中后段)。
然后在需要滚轮的窗口中:
窗口模块声明:
Private WithEvents m_MW As CHookMouseWheel
窗口load事件添加代码
Private Sub Form_Load()
Set m_MW = New CHookMouseWheel
m_MW.hWnd = Me.hWnd
end sub
窗口中再添加如下代码,实现msflexgrid的滚轮查看数据。
Private Sub m_MW_MouseWheel(ByVal hWnd As Long, ByVal Delta As Long, ByVal Shift As Long, ByVal Button As Long, ByVal X As Long, ByVal Y As Long, Cancel As Boolean)
If TypeOf Screen.ActiveControl Is MSFlexGrid Then sub_MouseWheel Delta, X, Y
End Sub
下面这个过程可以放到公用模块中
Public Sub sub_MouseWheel(ByVal Rotation As Long, ByVal Xpos As Long, ByVal Ypos As Long)
Dim NewValue As Long
Dim Lstep As Single 控制每次移动几行
Dim iA
On Error Resume Next
iA = 0
With Screen.ActiveControl
Lstep = .Height / .RowHeight(0)
Lstep = Int(Lstep)
If Lstep 10 Then
Lstep = 10
End If
Lstep = 1
If Rotation 0 Then
NewValue = .TopRow - Lstep
If NewValue 1 Then
NewValue = 1
End If
Else
NewValue = .TopRow + Lstep
If NewValue .Rows - 1 Then
NewValue = .Rows - 1
End If
End If
If .Rows .FixedRows Then
iA = IIf(.FixedRows = NewValue, .FixedRows, NewValue)
If iA .Rows Then iA = .Rows - 1
.TopRow = iA
End If
End With
End Sub
下边是类CHookMouseWheel.cls的内容
*************************************************************************
Copyright ?997-2009 Karl E. Peterson
All Rights Reserved, /
*************************************************************************
You are free to use this code within your own applications, but you
are expressly forbidden from selling or otherwise distributing this
文档评论(0)