网页功能: 加入收藏 设为首页 网站搜索  
让程序的鼠标支持滚轮
发表日期:2004-07-14作者:[翻译] 出处:CSDN  

以下代码写在模块里面  
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  
'支持滚轮的滚动  Yu  2004-5-10  15:33  
                 Select  Case  wMsg  
                                     
                               Case  WM_MOUSEWHEEL  
                                           
                                       Select  Case  wParam  
 
                                                     Case  -7864320    '向下滚  
                                                               SendKeys  "{PGDN}"  
 
                                                     Case  7864320      '向上滚  
                                                               SendKeys  "{PGUP}"  
 
                                       End  Select  
                                           
                 End  Select  
                   
                 FlexScroll  =  CallWindowProc(Oldwinproc,  hWnd,  wMsg,  wParam,  lParam)  
                   
End  Function  
 
 
以下代码写在窗体里面  
 
Private  Sub  MfgMonth_GotFocus()  
         
       Oldwinproc  =  GetWindowLong(Me.hWnd,  GWL_WNDPROC)  
         SetWindowLong  Me.hWnd,  GWL_WNDPROC,  AddressOf  FlexScroll  
End  Sub  
 
Private  Sub  MfgMonth_LostFocus()  
       SetWindowLong  Me.hWnd,  GWL_WNDPROC,  Oldwinproc  
 
End  Sub

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 让程序的鼠标支持滚轮
本类热点文章
  在VB中使用WMI获取系统硬件和软件有关信..
  将繁体中文字转化成简体中文
  获取CPU的ID
  在vb程序中如何获取剪贴板中所复制的文..
  更新桌面图片
  VB编程破解Windows屏幕保护密码
  让程序的鼠标支持滚轮
  用VB创建Windows快捷方式(无需DLL)
  用vb调用系统输入法
  用VB制作IE工具条自定义按钮
  修改显示器的刷新频率
  vb实现多线程
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2019 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00315