1. General GUI Design Rules
2. Why Use Tab Controls?
3. When Should You / Should Not Use Tab Controls?
4. How to Implement a Tab Control in LabWindows/CVI
A graphical user interface is the way your application's user gives commands and receives feedback from your application. For those of you who develop applications to sell, the UI is often the “cover” to your book – the crucial first impression. A good UI implies a thorough, professional development team whereas a sloppy UI can turn potential clients off.
A good UI makes the user’s job easier since they spend less time trying to figure out how to complete their task (which often translates to less questions for the developer). I bet you can name a few applications off the top of your head where an unintuitive UI makes using that application more difficult than it should be which translates into inefficiency, frustration and resentment from you, the user.
Your job as the UI developer is to predict the points of frustration and lay out an interface that helps the user get their job done. Getting the job done is most people’s primary concern. Here are some general rules to follow when designing your GUI:
The Tab control lets you maximize the screen space on your user interface without sacrificing the amount of information presented at once. Content on the tab control is separated into different panes and each pane is viewable one at a time. A tab control on your user interface helps us apply rules 1 and 2 above. Take for example, LabWindows/CVI development environment, your Internet browser or Microsoft excel, all these software user interfaces use tabs and you can expect your end user to be very familiar with navigating through a tabbed display of information. Additionally, you don't have to pack in all the controls and inputs into one window which makes your UI easier to navigate because it's more obvious what the user should be focusing on.
The primary goal of the tab control in UI design is to permit users to view a group of related data one at a time, which in turn allows designers to modularize this group of information in a compacted manner, saving valuable screen real estate. Here is a guideline on when you should use the tab control: [1]
Tab Control in LabWindows/CVI
The tab control was introduced in LabWindows/CVI version 8.0 as a replacement to the old EasyTab instrument driver - which by the way is considered obsolete so if you are using EasyTab then I recommend switching to the tab control because it has better UI editor integration, a full-featured API and Windows theming.
I have some suggestions to get started with using the tab control. There are two very nice examples that ship with LabWindows/CVI called tabpanels.cws and tabexample.cws. The first shows you how to convert multiple panels into multiple tab pages within a single tab control and the second is great for learning how to programmatically manipulate the appearance and characteristics of your tab control. Both appear in the NI Example Finder under Building User Interfaces >> General or just search 'tab'.
Of course I also suggest reading through the LabWindows/CVI Help topics on operating and programming the tab control, which you can find here. I do want to point out an important detail: When you add a tab page to a tab control, LabWindows/CVI automatically creates a panel that is associated with this tab. You can call GetPanelHandleFromTabPage to obtain a panel handle for the tab and then pass that panel handle to the NewCtrl function as the panelHandle parameter to create controls on the page, and you can pass that panel handle to other functions that you can use to customize the controls on the tab page.
Next, please review these Best Practices to keep in mind when using a tab control in LabWindows/CVI or other [1]
References
[1] Smashing Magazine article Module Tabs in Web Design: Best Practices and Solutions.
[2] UI Patterns article Navigation Tabs Design Pattern
Did you find this tip useful? Rate this document or add a comment below.
If you give this a try, share your experience! Add a comment below.
Thanks for the tips! I'm a newbe to LabWindows and working with on version 7.1 with Easy Tab controls and I'm looking to upgrade to tab controls and 2010.