From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Wolfgang

Integrated mouse wheel support

Status: Completed
Introduced in LabWindows/CVI 2013

Hello,

 

I am glad that the event EVENT_MOUSE_WHEEL_SCROLL was added some time earlier to CVI. In principle, now it is possible to operate numeric controls, ring controls, etc. not only via keyboard and mouse, but also via the mouse wheel. This allows very smooth operations, great!

 

However, the integration level is inconsistent: While pressing the ARROW_UP key on a selected control will increase the value displayed in the control automatically, i.e. without the need of the programmer to react to a specific event, achieving the same result with the mouse wheel requires adding code to each callback. This is possible, but inconvenient as it adds a lot of overhead.

 

Right now, in every callback of a numeric or ring control that shall support the mouse wheel I have the following lines:

 

    switch ( event )
    {
        case EVENT_MOUSE_WHEEL_SCROLL:
            if ( eventData1 == MOUSE_WHEEL_SCROLL_UP )
            {
                FakeKeystroke ( VAL_UP_ARROW_VKEY );
            }
            else if ( eventData1 == MOUSE_WHEEL_SCROLL_DOWN )
            {
                FakeKeystroke ( VAL_DOWN_ARROW_VKEY );
            }

            break;
        case EVENT_VAL_CHANGED:
    ...

 

Hence I suggest

  • either to treat a mouse wheel on a selected control like an ARROW_UP or ARROW_DOWN keypress (personally preferred)
  • or to add one more attribute allowing to treat a mouse wheel on a selected control like an ARROW_UP or ARROW_DOWN keypress. In the UI editor, then there should be a checkmark (allow mouse wheel support), similar to the check marks initially dimmed etc. This attribute could be useful if there are concerns of backward compatibility - may be some users don't want to support the mouse wheel...

 

Thanks!

3 Comments
LuisG
NI Employee (retired)
Status changed to: Under Consideration
 
JonathanN
NI Employee (retired)
Status changed to: In Beta
 
Jonathan N.
National Instruments
JonathanN
NI Employee (retired)
Status changed to: Completed
Introduced in LabWindows/CVI 2013
Jonathan N.
National Instruments