鼠标控制横向滑轮事件

  1. //这个例子写的挺好的:
  2. <!DOCTYPE html>  
  3. <html lang="en">  
  4. <head>  
  5.   <meta charset="UTF-8">  
  6.   <title>滑轮控制Div水平滚动</title>  
  7.   <style type="text/css">  
  8.     .wrap{width:500px;height:80px;background:#e7e7e7;overflow: auto;overflow-y: hidden;}  
  9.     .hor_box{width:1200px;height:50px;}  
  10.     .btn{width:100px;height:50px;background:#ff9900;float:left;margin:3px 10px;}  
  11.   
  12.     .ver_box{width:100px;height:500px;overflow: auto;overflow-x: hidden;}  
  13.     .ver_box .btn{width:90px;height:50px;margin:5px 0px;}  
  14.   </style>  
  15. </head>  
  16. <body>  
  17.   <div id="abc" class="wrap">  
  18.     <div id="scrollbar" class="hor_box">  
  19.       <div class="btn"></div>  
  20.       <div class="btn"></div>  
  21.       <div class="btn"></div>  
  22.       <div class="btn"></div>  
  23.       <div class="btn"></div>  
  24.       <div class="btn"></div>  
  25.       <div class="btn"></div>  
  26.       <div class="btn"></div>  
  27.       <div class="btn"></div>  
  28.     </div>  
  29.   </div>  
  30. </body>  
  31. </html>  

[javascript]  view plain  copy
  1. <script type="text/javascript" src="js/jquery-1.10.2.min.js" ></script>  
  2. <script type="text/javascript">  
  3.   
  4.   var firefox = navigator.userAgent.indexOf('Firefox') != -1;   
  5.     
  6.   function MouseWheel(e){  
  7.     e=e||window.event;  
  8.     if(e.stopPropagation){  
  9.       e.stopPropagation();  
  10.     }else{  
  11.       e.cancelBubble=true;  
  12.     }  
  13.       
  14.     if(e.preventDefault){  
  15.       e.preventDefault();  
  16.     }else{  
  17.       e.returnValue=false;  
  18.     }  
  19.       
  20.     // document.title=(e.wheelDelta+'|'+e.detail);  
  21.       
  22.     if(firefox){  
  23.       if(e.detail<0){  
  24.         $('#abc').scrollLeft($('#abc').scrollLeft()+60);  
  25.       }else{  
  26.         $('#abc').scrollLeft($('#abc').scrollLeft()-60);  
  27.       }           
  28.     }else{  
  29.       if(e.wheelDelta>0){  
  30.         $('#abc').scrollLeft($('#abc').scrollLeft()+60);  
  31.       }else{  
  32.         $('#abc').scrollLeft($('#abc').scrollLeft()-60);  
  33.       }  
  34.     }  
  35.   }  
  36.     
  37.   window.οnlοad=function(){  
  38.     var abc=document.getElementById('abc');  
  39.     firefox?abc.addEventListener('DOMMouseScroll',MouseWheel,false):(abc.onmousewheel=MouseWheel);  
  40.   }  
  41. </script>   

注:由于 Firefox浏览器的鼠标滑轮机制与IE, Oprea, Chrome等浏览器不一样,需要预先判断当前浏览器的类型
在窗体初始化时,对id="abc"的Div监听滑轮的事件
e.detail 事件是Firefox的DOMMouseScroll
e.wheelDelta 是其他浏览器

参考“mousewheel滚轮事”:http://www.bkjia.com/jQuery/821747.html

转载自:https://blog.csdn.net/Qiustion/article/details/71713804

MFC(Microsoft Foundation Classes)是微软为Windows应用程序开发提供的一种工具包,它包含了一套丰富的控件和类库。Picture Control是一个MFC中的控件,通常用于显示图片,并支持用户交互。 如果你想利用MFC的鼠标滚轮事件控制Picture Control的缩进,你可以这样做: 1. 首先,在你的CPictureControl类或者派生自它的类中,重写OnHScroll()函数,这是处理滚动事件的地方。 ```cpp virtual void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { if (nSBCode == SB_LINEUP || nSBCode == SB_LINEDOWN) { // 滚动条向上或向下移动,这里调整 Picture Control 的缩进 int newZoom = GetZoom() + (nSBCode == SB_LINEUP ? -1 : 1); SetZoom(newZoom, FALSE); // SetZoom方法用于设置缩放级别 } } ``` 2. `GetZoom()`方法返回当前的缩放比例,`SetZoom()`方法则用于改变缩放级别。`FALSE`参数表示不需要立即调整大小,只更改属性。 3. 记得在类的初始成员变量中声明滚动条控件,并在构造函数或适当的初始化阶段关联它们: ```cpp CScrollBar m_wndScrollBarHorz; // 垂直滚动条 CScrollBar m_wndScrollBarVert; // 横向滚动条 // 初始化滚动条 m_wndScrollBarHorz.Create(this, IDC_SCROLLBAR_HORZ, CRect(), WS_VISIBLE | CBS垂直); m_wndScrollBarVert.Create(this, IDC_SCROLLBAR_VERT, CRect(), WS_VISIBLE | CBS_VERTICAL); ``` 当用户使用鼠标滚轮时,滑轮的上下滚动会触发OnHScroll事件,进而调整Picture Control的缩进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值