LabWindows/CVI Idea Exchange

Community Browser
About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.

The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.

Top Kudoed Authors
User Kudos Count
Showing results for 
Search instead for 
Did you mean: 
Post an idea

CTRL+Q should highlight all instances of the results in the editor

Same thing with CTRL+F

This is similar to Notepad++ for example


I find the ALT+UP ARROW and ALT+DOWN ARROW of Visual Studio 2013 quite useful (move selected lines)


Please, implement CTRL + L to delete a line

I know the short cut is already owned by "go to line" but my current macro is not that good :-(


It seems macros are not working in the editor while debugging a code.

Could be usefull.

Will be mandatory if one day the "Comment multiple lines" is implemeted using a macro :-)


Best regards, Philippe

If you have a Numeric Indicator, and you set "Range checking" to Notify, CVI will show an ugly popup when you enter a value out of range.

If you set this property to "Coerce", the value you enter is coerced in range, but no specific event is generated.


I think that an EVENT_VAL_COERCED would be really useful: using this event you could easily show a message popup, for example.

It would be nice to be able to add some comments on UIR objects in the editor.


I'm mainly concerned about versioning: sometimes I happen to apply some modifications to existing panels / objects that are not self evident and I run the risk of forgetting them while revising the project after a couple of weeks.

As an example, I have recently modified some string and text message controls using "Greek" character set so that I can embed omega and delta symbols in them. At present I have a text file describing all modifications I have done in the project, including those in the UIRs, but it means I need to revise this file when I open the project again. It would be good if I could  add a comment on those controls and have a visual reminder of it directly in the editor (e.g. with a little symbol like when you add a comment on an Excel cell) so that every time I open the UIR I see the presence of comments at a glance.

Personally I don't like the "unsorted" look of the libs as it is now. I always create a libs branch and put them there. This way the branch can be collapsed and saves space I don't have to scroll when having multiple projects in one workspace. Libs are files I don't edit that often so I don't have to see them all the time.

For every other file type CVI "knows" at the Add Files to Project sub menu, there is automatically a branch created - but not for libs.



  • Right now, the Break on»Library Errors function break happens for all library errors. I would like to suggest a more granular setting, i.e. break on file I/O errors, math errors, etc.


  • An additional (and most relevant) feature I suggest is the option to allow to temporarily exclude certain errors; let's say I have a loop doing some calculations and these calculations result in an ERANGE error, then it would be useful to get notified by the debugger, but only once for this loop, not 500 times... Hence after a break on library error I would like to have the (right click) option 'exclude further breaks of this function'. This should be valid for the current execution and be automatically reset when the program is restarted.


  • Also, the menu command should provide the possibility to override all SetBreakOnLibraryError functions.


Many thanks!



I miss a display format that will automatically switch from Floating Point to Scientific if the displayed number exceeds a certain threshold.


Lets say, 1 234 should be displayed as 1234, but 123 456 789 123 456 789 should be displayed as 1.2345 E17 because typically such a large number of digits is not meaningful. This display format is considered to be useful both for regular numeric controls but also for graphs, because right now very long numbers increase the frame size and decrease the remaining graph size. Of course, one could do this automatically, after plotting a new plot analyze the new plot for maxima and minima and then adjust the display format accordingly. What I suggest that this is done automatically, similar to the good old 'G' formatting option.


As a consequence, this new display format would require an additional attribute when to change from Floating Point to Scientific and vice verse, say NUMBER_OF_USEFUL_DIGITS. Default might be 6 digits.


I consider this wish important because right now, when plotting functions on a graph where the range is not known in advance, this may result in much too many displayed digits. Even 17 digits (resolution of double) will not be meaningful in most cases, while for numbers such as 12.5 there is no need to use an exponent...


Thanks a lot!

The option tooltip is very good feature what is the problem is it is only for the controls. If I want to show tooltip for listbox then it is fine but what if someone wants to show tooltip for active rows. It simply doesn't. 


This is very basic but one of the disadvantage of labview over .NET.


This needs to be fixed

As discussed here earlier I am using tooltips that show 'dynamic' information, e.g. the permitted data range of the respective control, available user actions..., These frequently depend on several other controls and parameters.


Right now, all other affected controls etc. need to call a function to re-build the tooltip text, and to more than 90% this is wasted effort because the tooltip text is changed again before it may get displayed...


Thus I would like to suggest a 'dimmer callback', similar to the menu dimmer callback. This 'tooltip dimmer callback' should be called just before the tooltip is going to be displayed, allowing to build/update the tooltip text only when needed.



When using the UI functions, a neat feature is the ability to pull up a dialog of valid control IDs when specifying the control:




clicking the elipses displays this dialog showing all valid control IDs:




If you are using the function panel however, you cannot access this dialog and you are on your own for figuring out the correct control ID:




I think we should add this functionality in the function panel for any function that has a control ID parameter.



My company has begun placing incentives on Test Driven Development as fundamental to the code development process.  I expect this incentive will impact other companies where CVI applications are used in production.   It would be beneficial for NI to provide developers with a roadmap and definitive structures and methods and support for TDD within the CVI environment.

Admittedly not a very urgent wish:


Since 2013 strings are displayed in the Array Display, see the screenshot below. I would consider it nicer if the fields would be of the same width, now there is a noticeable change from 9 to 10 and from 99 to 100...



variable view.png






When working on laptops the room space in the UIR editor is relatively small compared to the size of actual wide desktop videos. Moreover, starting from CVI 2010 the user interface browser consumes additional room to the right of the editor, thus leaving only a few space to design/review panels.

It would be a good addition the possibility to preview an entire panel on the screen, with the ability to zoom in and out so that one can have an idea of the final aspect the panel will have.

I added the tab control into panel to my project. Overtime, I added 20 items into the single Tab Control. But since were so many items in the tab control, I decided to re-arrange items (indexes) in the tab control by either moving them left or right depending on the alphabetical order. But here is my problem.


Since I re-arranged the items (indexes), the indexes have all changed for all the items. Now I have to go everywhere the function GetPanelHandleFromTabPage is called and manually update the index numbers to match panel handles for the index. There are 20 different places where this could occur. The number of items (indexes) on the tab control could grow even more and may have to be re-arranged again in the future. Just a big pain.


Suggestion for improvement: Provide a another function that can obtain the index of the item on the tab control dynamically. This could be done by using the "Constant name:" issued in the edit tab panel of the edit tab control. So if the items (index) inside the tab control are re-arranged then the index value for that item is carried with the new index value.


Also the index would be included in the header file generated by the panel editor for CVI so that now the index value can be used thus eliminating the hard coded the index value.

Easy integration of MS .NET libraries is a highlighted feature LabWindows/CVI. However, programmatically interacting with the GAC from LabWindows/CVI is currently challenging and more worthwhile to do in other environments. A set of functions to programmatically interact with the GAC from LabWindows/CVI would create a more seamless experience for developers.  



while editing operations on a panel can be undone this seems not possible for menus. For example, if I have changed the item name of a menu in the UI editor this can not be undone using CTRL-Z. I have to remember my last action and undo it myself.





designing a screen layout I frequently encounter the wish to have not only rectangular (and circular) decoration elements, but also one of the type shown below.




Only the upper right rectangular shape can be realized now, while the more complex shape on the left is what I would like to see added in the future.

Instead of two parameters width and height four parameters would be required (two heights and two widths), may be even a fifth parameter specifying the orientation of the shape: as shown, mirrored in x, mirrored in y, mirrored in x and y.


Without doubt grouping control elements is useful; unfortunately these groups may differ in the number and type of control elements.


Thanks for consideration,



I am happy to see that the suggestion of integrating the tooltips into the UI editor was successful. Now I would like to see better, more powerful tooltips Smiley Happy


In particular, I suggest


  • adding another tooltip attribute allowing the tooltip to disappear automatically after a given time (default of say 3-5 seconds); hence the tooltip would show up with the tooltip delay, show for this specified appearance time, and then disappear automatically. I think that this is the most frequently encountered behavior in other programs. Setting this attribute value to 0 or -1 would imply "show infinitely long"
  • adding an attribute TOOLTIPS_WIDTH that would allow for automatic linebreaks, similar to the behavior found in textboxes. Right now, tooltips get infinitely long if no line breaks are inserted manually. Linebreaks, however, depend on font size etc... The width should be specified in pixels (possibly with a default of say 400)
  • adding an attribute TOOLTIPS_WRAP_MODE, specifying the wrap mode (character/word/...) as in textboxes
  • the possibility of simple text formatting, such as bold or italics. For illustration have a look at the CVI UI editor control panel, e.g. of a text box. Click on the question mark in the upper right corner of the window and then on e.g. line mode: This shows a nice example of what I would like to have to better explain different options (of say a ring control) in a clear way
  • additional tooltips for column headers, row headers, even for every cell of a table: Tooltips of a complete table control may not always be useful, while I have several scenarios in mind where these added tooltips would be most useful: - explain the table columns: typically, due to space constraints, table headers are pretty brief and so extra information could be provided via tooltips for each individual column header. - if a table gets larger and is scrolled, table headers disappear: One could use tooltips (per column) to remind the user what he is actually seeing in column 17...


Thanks Smiley Wink



In previous applications, we would talk to our product using a telnet session.
CVI has libraries to do this, such as...


ConnectToTCPServer ((unsigned int *)&g_ShelfHandle[iSocketNumber], 23, sAddress, com_ClientTCPCB, NULL, 0);                                                                   

In one of our new products, it only supports "ssh" which is similar to telnet, but is a "secured shell" connection.
One option is to use putty:




It is not the most straightforward way of doing things, but at the moment, it is what we have to deal with.

Since the ssh protocol is becoming the new standard in communications (used in all Linux machines, and windows), and most
of the new telnet programs (supporting ssh), I would like to request that a CVI library be created to support this protocol.








The additional columns of a tree can be hidden using SetTreeColumnAttribute() with ATTR_COLUMN_VISIBLE parameter. This is an easy and effective way.

For a table this attribute isn't supported, so you can use some workaround that requires more coding and have some disadvantages (for example if you set the width to the minimum value of 1, the user can increase it with the mouse...).

I think that the ATTR_COLUMN_VISIBLE parameter would solve this needs in the perfect way.

It seems that one cannot cut/copy/paste menu items between multiple menubars.  If I copy an item in one menu bar, exit the 'Edit Menu Bar' dialog, then open the 'Edit Menu Bar' dialog for another menubar the paste buttons are dimmed.  It would handy at times to be able to do this.  Thanks.