Middle Mouse Wheel



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/07/2011 at 09:00, xxxxxxxx wrote:

    Okay.  I figured this out.  :)  I wanted to share my results with others as it may come in handy for you as well.  :)

    Here's the code I used to get it to work every time I click the second button.

      
    win->MouseDragStart(button,mx,my,MOUSEDRAGFLAGS_DONTHIDEMOUSE|MOUSEDRAGFLAGS_NOMOVE);  
      while (win->MouseDrag(&dx,&dy,&device)==MOUSEDRAGRESULT_CONTINUE)  
      {  
          if(dx == 0 && dy == 0)  
          {  
              GeSyncMessage(EVMSG_ASYNCEDITORMOVE);  
              BaseContainer bc = BaseContainer();  
                
              win->BfGetInputEvent(BFM_INPUT_MOUSE, &bc);  
              if (bc.GetLong(BFM_INPUT_CHANNEL) == BFM_INPUT_MOUSERIGHT)  
              {  
                  GePrint("RIGHT BUTTON PRESSED");  
              }  
          }  
      }  
    

    I noticed that when I placed a GePrint() within the MouseDrag() loop that it would work perfectly. 
    This then led me to place this line:

      
    GeSyncMessage(EVMSG_ASYNCEDITORMOVE);  
    

    in to the code.  and with that little addition it works great..  This works also with the middle mouse wheel..    Just replace

    BFM_INPUT_MOUSERIGHT  
    with  
    BFM_INPUT_MOUSEWHEEL  
    

    Remember of course that this all works only if you are holding down the left mouse button.  :)

    Hope this is helpful for someone.  :)

    Thanks,

    Shawn


Log in to reply