做了一个插件,控件的右侧有一滚动条。网页的右侧也有一滚动条当我在控件里面滚动鼠标滚轮时,网页的滚动条和控件滚动条一起动了我用SetWindowsHookEx(WH_MOUSE_LL,)把滚动拦截住,又重新用sendmessage发给控件,但它们还是一起滚动。有啥办法,先谢过!

解决方案 »

  1.   

    不用那么麻烦:
    LRESULT CXXXXCtrl::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    switch (message)
    {
    case WM_MOUSEWHEEL:
    return 0;
    break;
    ....

    }
      

  2.   

    你的响应函数放在return 0;前面,这样就只有你的控件滚动,IE不会滚动。
      

  3.   

    to: yang79tao关键是我的控件里面的滚动条是用消息来驱动的 OnVScrollLRESULT CXXXXCtrl::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    switch (message)
    {
    case WM_MOUSEWHEEL:
    //难道要我在这里转发消息?
    SendMessage(message, wParam, lParam);
    return 0;
      

  4.   

    去掉OnVScroll函数!把OnVScroll的函数内容拷贝到return 0;前面不就行了?
    或者你把OnVScroll的内容写成另外一个函数DoVScroll,然后在return 0;前面调用DoVScroll即可。
    你觉得这个问题很难吗?
      

  5.   

    不能去掉OnVScroll吧 去掉了鼠标在滚动条上拖动时怎么滚呢??问题已经搞定,谢谢