NI Home > Community > NI Discussion Forums

LabWindows/CVI Idea Exchange

Showing results for 
Search instead for 
Do you mean 
The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea

I'd like the following options being added to FileBrowser tollslib control:


  • Ability to hide / tailor popup menu for the right portion of the FileBrowser (file list): at present, even if I disable the popup menu on the tree control (regardless it is made before or after converting the tree into a FileBrowser) the rightmost part of the control has its own popup menu enabled
  • In case the menu is shown, it would be a good thing to be able to add / change / hide items in that menu
  • Ability to programmatically set the width of columns in the file list section of the FileBrowser
  • Ability to programmatically set the label of columns both sections of the FileBrowser: this is particularly necessary in case you need to localize the user interface in a language other than English, as FileBrowser cannot be treated by the Localization Utility since it is created at runtime

It has been discussed a few times in this forum, but so far it is impossible to 'know' when the mouse cursor is above a certain menu item. This information might be used for example to display some context help.


Hence I would suggest that using the menu callback of the respective menu item it should be possible to be notified about the mouse cursor position once it is over the area of the respective menu entry, e.g. by providing a MOUSE_OVER_MENU_ITEM event.

Status: New

Right now, it is possible to add a readme file to the distribution (Build / Distribution / Edit...). Unfortunately, the file type of a readme file (and the license agreement file) is limited to *.rtf. 


It might be useful to distribute a more 'complex' readme file, e.g. including figures. Hence I would prefer to distribute readme.pdf instead of readme.rtf


Better Documentation

Status: New
by Member MarcBAE on ‎02-13-2013 11:10 AM

I'd like to see better documentation online.


Currently, documentation seems to be spread over different areas: online, in sample code included with the development environment, in a downloadable help file, etc. What online documentation there is is incomplete - for instance, if I'm looking at the function reFFT (just an example, I know it's obsolete), the online help gives me the parameters and what they are but they don't tell me acceptable values, e.g. what is the largest/smallest value I can use for numberOfElements: 1 - 9e99999Another case was with the NIscope driver NISCOPE_ATTR_INPUT_CLOCK_SOURCE. When I looked at the documentation (downloaded zip file filled with CHM files) there was a list of defined values but no desciption of what they were or were not for. Example: NISCOPE_VAL_NO_SOURCE ("VAL_NO_SOURCE")...I *assume* NO SOURCE is equivalent to Intenal but should I really have to guess when looking at documentation? For that matter, why does this information only appear to be available via downloadable file? 


In another case with NISCOPE I found that the niScope_ConfigureHorizontalTiming expects a certain clock frequency (10 MHz) if you're using an external clock, but if you are using a clock frequency at exactly what you're asking for you have to set the attributes directly. I messed with this for a while before calling the help desk. The person at the other end was able to tell me how to fix my problem but he could not find documentation online (accessable by me) where this information could be located. It seems to me that the number of help calls could be drastically reduced if sufficient help were available online. Finding information on error codes is similarly lacking.


I also have a problem with referencing "installed" sample code in lieu of a online programmer's manual. I don't always run on my development machine. So I'm on my target system (that does not have the development environment installed) and I want to look something's very frustrating to find all help on a particular subject referring to my development machine. 

We use the our development and target installation PC's to support both new and legacy projects that were developed under earlier versions of IVI Compliance.  As the only current way to change IVI versions is to uninstall and re-install, we are stuck using the earliest one as a common denominator.   With hundreds of old projects to re-compile, frequent across-the-board updates are not possible.  Newer versions of instrument drivers such as HSDIO are only compatible with later versions of IVI. 


I would like to have a reasonably easy way to switch IVI versions, so we can support both old and new code from our development PCs.  Even a batch file and some registry edit instructions would be better than the way it is now.  However, that would limit its use in a secure environment where the users don't have general admin privileges.


From an NI business perspective, this may be blocking customers from purchasing upgrades or new NI products.

Currently, it is only possible to load XML for parsing from an xml file.  In order to load xml data from a string, it is necessary to either write to a temporary file, or use the MSXML library directly.  It would be fairly simple to modify the CVIXMLLoadDocument() Function (or create a new function) which uses the MSXML IXMLDOMDocumentloadXML() function, which allows loading XML directly from a string. 


Adding this code to the current function after the IXMLDOMDocumentload() function would improve the CVIXMLLoadDocument() function so that it tries opening the input string as direct XML if it is not a path (Replaces line 167):


__caErrChk(MSXML_IXMLDOMDocumentload(xmlHdl, NULL, variantPath, &success));
	if(!success) //if loading as a path fails, try reading as direct XML code
        __caErrChk(MSXML_IXMLDOMDocumentloadXML(xmlHdl, NULL, fullPath, &success));    

I use SavePanelState and RecallPanelState all the time but it give me error when I add/change existing control. I would like to request save and recall only one control that way I don't have to worry about other controls which I am not interested in.

Status: Under Consideration
That's a good point. I was probably too rash in declining this suggestion.

add new plot styles providing error bars

Status: New
by Trusted Enthusiast on ‎10-20-2011 09:51 AM



I see no easy way to plot data in a scatter plot including their error bars...


Hence I suggest adding plot types such as



If this desire gets accomplished, it would also make sense to add some related attributes, specifying the size, type, and color of the error bar.



Browse any <file>.c, by right-click on a file in project view file list.

In Window "Source Code Browser/View" Browse Identifier:
Allow to copy entries in column 'Functions' and other columns, if useful.


This would help to create a content list in <file>.c or any other documentation.

Copy full columns or line by line might be useful.

Why does the numeric lab style have ATTR_FRAME_COLOR but not string, list box and text box?

It always seemed inconsistent to me.

Auto-Complete function

Status: New
by Member fishingman on ‎08-08-2011 09:29 AM


The idea is to automatically add the Auto-Complete function. that is, when you type the beginning of a function, the development interface  provides a set of functions. This option is present in most development software and facilitates the development too.


It has been discussed here.

I suggest to add a note to the documentation, for example



_TARGET_PRODUCT_VERSION_ and _TARGET_FILE_VERSION_ values are updated only when the file that contains them is recompiled.

So be sure to include them only in files that are recompiled at every build.


Status: Completed
Added in CVI 2013

Hello NI,


during program development and debugging typically there is more than just the source window visible, i.e. the lower part of the screen is used by the find or the build output window. Now, if I switch to a different tab/window to edit the UIR file, this build output window will still be there and take valuable space, although it is completely useless for editing the UI. If I close it, it will remain closed even if I switch back to the source code.


I would prefer that 'context sensitive' wndows such as 'find results' / 'build output' ... only show up if meaningful, while they are automatically hidden if not needed, i.e. when a UIR window is displayed, and automatically redisplayed if the source code window is back.


Thanks for possible consideration,


EVENT_SORT for table control

Status: Under Consideration
by Trusted Enthusiast on ‎07-09-2011 08:19 AM



I would consider it useful to have an event for table controls notifying the program if the user has sorted a column, in analogy to the event EVENT_SORT available for tree controls.


Thanks :smileywink:

Improved Single Row Scroll of Tab Panels

Status: New
by Trusted Enthusiast on ‎11-03-2012 01:19 PM



This suggestion is about an improved handling of tab panels. Let's assume there are several tab panels, but only 3-4 tabs fit in a row. Selecting 'Single Row Scroll' will show say 3.5 tab panels and the row selector. Now I'd like to access say tab panel 5: Right now this requires clicking on the row selector to show the desired tab AND then click on this tab to show the tab panel. It would be more convenient if clicking the row selector would automatically show the next tab, too.


Let me give an example: The desired tab is not shown in the scroll list below, so one has to click on the right arrow...




... until the tab shows up:




But still the first tab panel is displayed, so another mouse click is required:




It is not just that one more mouse click is needed, but the mouse needs to moved, too, to click on the respective tab... It would be much more convenient to simply click a few times at the same position...

Adding binary switches with led indication

Status: New
by Member ofirga on ‎10-31-2012 03:49 AM

As labview has them for ever, can you add them to CVI helping reduce the UIR handling and programming a bit?

This issue has been discussed in other threads:

When a stripchart is horizontally resized, the X-scale range can't be changed, so that visible data in shrunk or stretched to the new dimension. But this behavior is not so useful.

It would be better if resizing the chart changed the X-scale accordingly, so that a larger or shorter period would be displayed.


But if you set ATTR_POINTS_PER_SCREEN parameter all the data history is cleared, so that it's impossible to resize the chart.


I think that resizing a chart in the way I described is a quite common need, so I suggest to implement ATTR_POINTS_PER_SCREEN in a way that doesn't clear the whole data history.

ClearStripChart() should be the only function that clears the chart.

ATTR_DIMMED for SetTreeItemAtribute()

Status: Under Consideration
by Active Participant vix on ‎05-13-2011 06:59 AM

A tree control can be used to implement radio button controls;

in this situation you can't completely dim one of the items (so that it is grayed and the user immediately sees it is inactive) because the function SetTreeItemAttribute() doesn't allow ATTR_DIMMED attribute.

You can dim the item label using SetTreeCellAttribute(), but the check box stays active (see this discussion).

The EVENT_MARK_STATE_CHANGE can be swallowed, but the check box has the aspect of an active check box, even if nothing happens when you click over it.


I suggest to add the attribute ATTR_DIMMED to SetTreeItemAttribute() so that the whole item can be dimmed (its check box too)

IDE: Vertical guides

Status: New
by Trusted Enthusiast ‎10-14-2012 05:59 AM - edited ‎10-14-2012 06:00 AM



even today source code needs to be printed (to paper, to PDF...). So for a given font and font size there is a maximum number of characters per line that can be printed without forcing a line break.

Accordingly, I have arranged my source code that none of the lines exceeds this limit. I would consider it convenient to have a faint grey vertical line indicating this limit. So I suggest adding a 'ruler' with user settable vertical guides.


Thanks for consideration.

CVI work as web server

Status: New
by Member TECHNOFASE on ‎10-03-2012 02:45 PM

Please consider the possibility to enable the use of CVI application as web server so that the application will accessible to the web.

Its open one new world (wide  web..).


Consider the opportunity to ope to all smartphone device....

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