我想做一个鼠标响应功能,即鼠标中间滚轮向前或向后滚动时响应我的函数,我重载了WM_MOUSEWHEEL消息,函数也响应了,可是意外的是窗口的上下滚动条也跟着滚动了,能不能不让滚动条移动呢?
我只想执行我的函数
鼠标向前和向后的函数是不一样的
高手帮忙解决一下,谢谢!

解决方案 »

  1.   

    一是用HOOK, 把消息拦截下来或者就是把其它所有的类中的WM_MOUSEWHEEL消息屏蔽掉
      

  2.   

    window procedure subclassing
      

  3.   

    不需要用hook这么麻烦吧?
      

  4.   

    有必要用HOOK吗? PreTranslateMessage就可以办到了.switch(pMsg->message) 
    {
    case WM_MOUSEWHEEL:
      // do something
      return TRUE;
    default:
      break;
    }
      

  5.   

    你处理完消息后直接返回TRUE,否则还会调用框架默认处理
      

  6.   

    大家能不能说详细点呢?
    我也知道手工处理,要用PreTranslateMessage,关键是怎么处理~~
    我想这个小问题还没必要到用HOOK这么复杂吧?