Keyboard Navigation with Tab Control

We have a tab control in a form and it has several pages.
On one of the tabs we show data from a multi row block, the first 3 columns are on the tab canvas, then we have a stacked canvas that scrolls left/right that shows the rest of the data. We fix the first three columns as they give context to the rest of the rwo that is scrolled within the tacked region.
Now the problem:
When focus is on one of the columns displayed on the tab page we can press CTRL-TAB and the tab switches to the next tab page.
If focus is on one of the fields on the stacked canvas CTRL-TAB doesn't navigate to the next tab page - it attempts to switch windows.
It looks like the items that aren't onthe tab canvas, but are on the stacked canvas, aren't party to the CTRL-TAB event?
Has anyone else experienved this problem? Or know of a work around?
Regards,
Bren

When I use CTRL-TAB just the trigger key-next-item fires. In our environment we use CTRL-PageUp/Down to switch the tab canvas. But I think the event that is really fired is key-nxtblk. So on forms-level I added the triggers key-nxtblk/prvblk that call my procedure next-/previous-tab-page.
In the when-new-forms-instance trigger I initiate a plsql-table, that has the following record type as a rowtype:
TYPE TabPage_Rec IS RECORD
(TabPage Varchar2(80),
First_item Varchar2(80));
So each tab page 'knows' its predecessor and successor. I then implemented two procedures next_tab_page and previous_tab_page, that iterate the plsql-table and set the canvas_property TOPMOST_TAB_PAGE to the requested value and navigate to the first item on the tab page.
That way you are mostly independent of the way your form is designed (blocks, items, order in object navigator). It is a bit of an investment and you have to keep it consistent to the way your form changes tabwise, but I found it quite handy.
Hope this helps.
Regards,
Bettina

Similar Messages

  • JTable's Cell navigation with TAB

    Dear ALL
    I have face one problem in JTable's cell navigation with TAB. The problem as describe bellow.
    I have two columns NAME and ADDRESS. Set focus on ADDRESS column's first cell. now if i am press tab key then focus controll comes on second cell which is the ADDRESS column. At the end of row controll comes on first row second column that means focus on ADDRESS column's first cell.
    Please give me some hints.
    Thanks in advance.
    Amit

    Your description doesn't make any sense (to me at least) so I don't know what your problem is or what you are asking to be changed.
    The normal tab order is Left to Right, Top to Bottom. So if the focus is at the top/left normal tabbing would be:
    Row 0, Column 0 (name 0)
    Row 0 Column 1 (address 0)
    Row 1, Column0 (name 1)
    Row 1, Column 1 (address 1)
    Row 2, Column 0 (name 2)
    Row 2, Column 1 (address 2)
    Your question seems to imply that your tab from address to addreass, which doesn't make sense.
    "Set focus on ADDRESS column's first cell. now if i am press tab key then focus controll comes on second cell which is the ADDRESS "

  • Please give me a idea with sample code explainingBDC  with TAB control

    Hello,
    Can anybody give me a idea of doing BDC with TAB control.
    Regards
    Mave

    hi, you need to show the BDC script in TAB control?
    then you can reference to the screen of SHDB, maybe
    thanks

  • Keyboard navigation with left right keys for a ring

    Hello,
    is it possible to use the left/right keyboard keys to control a ring? They do not appear in the keyboard-navigation properties.
    It has to work that way, that I can move with the keys through the ring-entries and select the desired entry with <enter>
    Many thanks in advance,
                        Magnus

    Hi Magnus,
    Sorry, I haven't found how to do exactly what you're asking for... I made a small VI in which if you press "left" or "right", the ring gets the "key focus" and then you can "scroll" the value with the up/down arrow, but you can't see all the value like if you actually clicked on it...
    Hope this helps...
    BTW, I don't know in which context you are using LabVIEW, but this point is - IMO - not worth spending hours
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"
    Attachments:
    Untitled 1.vi ‏18 KB

  • Graph range problem with tab control

    Hello.
    I am using LabVIEW 8.2.1
    I have five XY-graphs in a tab control, with five tabs. One graph in each tab. When running, theese graphs is constantly written to, but the user is only allowed to watch one at a time.
    The program also contain a maximum&minimum chart, containg the maximum and minimum value for every plot in the viewable part of the graphs. The user can zoom in on a graph, and then watch the max&min values in this picture. The values are calculated by taking the range to each graph, and use theese ranges to cut out the viewable part from the input data to the graphs.
    The problem is, that the program only see the last viewed range. If I view a graph in a tab, the max&min values for this graph is correct, but the four other graphs dont get the correct values. The graphs data is written correctly. It seems like the ranges from the "hidden" graphs dont get updated when not viewed. Does anybody know how to fix this problem?
    I have uploaded an example to this problem. See how the range just freezes on the not viewed graph, even the two graphs is exactly the same.
    Thanks
    Fredrik, Norway
    Message Edited by Kalman on 06-19-2008 01:58 AM
    Attachments:
    graph_range_problem2.vi ‏24 KB

    Frederik,
    the reason for your issue is autoscaling. If the graph is not drawn, autoscaling will not take place, so you will not get any correct values, you will get the last autoscale-values.
    The behaviour therefore is "works as intended" since it reduces CPU usage.
    So the best way to work around is something like seen in the attached VI: you should compute the scaling for each graph on your own and use this to update the scales as well as the indicators (which i left out in my VI).
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.
    Attachments:
    Scaling.vi ‏25 KB

  • CASE STRUCTURES WITH TAB CONTROL

    Hi,
    I have created  tab controlled  case structures for three different cases,
    Tablet type
    Machine Input
    Output
    It seems that data is not interlinked while switching betweeen the cases.
    I have to select the start buttun for each tab to get results.And also if I skip the second tab and jump to third tab, it doesnot give results. SOmehow the data is not acquired.
    Can anyone help me out for the same.
    Attached is the main VI (PAR_LAB_ATT_00_01)followed by a sub VI(gen time array)
    Thanks
    Sumit
    Attachments:
    PAR_LAB_ATT_00_01.vi ‏200 KB
    Generate Time Array.vi ‏15 KB

    Please don't use all CAPS when posting your message subject.
    How are you running your VI?  I don't see any while loop in it, so it only runs once.  Which means only the case structure associated with the tab that is currently highlighted before you press the run button will actually run.
    The vast majority of the time, a tab control is only used to control what is displayed in the front panel and is not used to actually control the execution order of the program.
    I would recommend looking at the online LabVIEW tutorials
    LabVIEW Introduction Course - Three Hours
    LabVIEW Introduction Course - Six Hours

  • Lock Tabs with Tab Control

    Hi all,
    I am working on a LabVIEW program with a tab control that creates five tabs with questions on each tab page.  I would like to lock the tabs such that the user could not move on to the second tab by clicking on the next tab, but only by clicking on the correct answer to the question displayed on the tab.  If that is not possible, I would like to at least lock the tabs so that the user could only move on to the next tab after a set unit of time, or that they were automatically directed to the next tab after that amount of time.  I'd really appreciate any help that could be offered!
    Thanks!
    Lora

    You could use an Event structure to detect when the user tries to move to a new tab and test for your conditions there.
    Message Edited by jcarmody on 04-17-2009 08:03 PM
    Jim
    You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
    Attachments:
    Example_VI_BD.png ‏5 KB
    Untitled 1.vi ‏12 KB

  • Dynamic event registrati​on wont work with Tab control

    In LTR volume 11 No1 we find the "Dynamic Event Handling.vi".
    I had placed the controls on a Tab control and now this example wont work.
    Is there a solution to this problem?
    Scientia est potentia!
    Attachments:
    Dynamic_Event_Registration.vi ‏51 KB
    Dynamic_Event_Registration(controls_on_Tab).vi ‏64 KB

    Yes. The first stage of the code registers mouse down events for all the controls. When you added a tab control that meant that a mouse down event was registered for the tab as well. So now when you click on an object on the tab LabVIEW must decide whether to fire the mouse down on the tab-event, or the mouse down on the object on the tab event...It goes for the first but since there is no description for the tab no dialog will be displayed. If you add a description for the tab you'll see that it fires the event with the tab and you get a dialog with the tab description.
    So - how to fix. Well, it's not that simple, one might think that to exclude the reference to the tab when you register the events would do the trick, but it rather seems that LV will always t
    hink mouse clicks are on the tab and not on the objects on the tab.
    The solution though is to get the references to the objects by reading the controls on page property of the tab control. So instead of reading the controls array from the front panel read the pages references of the tab and then the controls on page array from that and then register mouse down events on that array.
    MTO

  • Keyboard problem with T410 - Control Key

    I have a problem with the control keys on the keyboard of T410.
    I swapped my X200 keyboard over to T410 to check if it is software or hardware issues.  With the X200 keyboard, the 'Ctrl' key is not working.  With the T410 keyboard, 'e', 'd', 'c' and 'Ctrl' keys are not working.

    Welcome to the forum!
    I believe that X200 and T410 keyboards are mapped differently in BIOS.
    Can you find another T410/T510 keyboard to test with?
    Cheers,
    George
    In daily use: R60F, R500F, T61, T410
    Collecting dust: T60
    Enjoying retirement: A31p, T42p,
    Non-ThinkPads: Panasonic CF-31 & CF-52, HP 8760W
    Starting Thursday, 08/14/2014 I'll be away from the forums until further notice. Please do NOT send private messages since I won't be able to read them. Thank you.

  • Possible bug with Tab Control and Context Help?

    I created Description and Tip text for each Tab of a tab control I am using on my front panel.  I have a subVI that is called by selecting a menu item from my main front panel.  The subVI's front panel also has a menu system and a Tab Control.  I have Description and Tip text written for each of the tabs on the subVI's front panel.
    When I enable context help from the menu of my main VI, the proper help text shows up for the tabs on the main vi and, when I bring up the subVI's front panel, for its tabs as well.
    So far so good...
    Now I builld the application and run it as an executable.  For ALL of my panel tab descriptions, I get the tab's label in bold text, but no description (just a blank area).
    Is this a bug in LabVIEW?
    Kevin 

    wired wrote:
    I'm still seeing this behavior in LV8.2.1.  Does anyone know if/when it was fixed?  Also, my tip strips show up in the corner of the monitor when I mouse over a tab (in both the executable and the development version).
    I see it still even in 8.5.  
    The Help part of the bug is still NOT fixeed by NI.
    But I dont get the tool tip appearing in the corner of the monitor, it is showing up as usual.
    - Partha
    LabVIEW - Wires that catch bugs!

  • Optimize keyboard navigation with internet explorer

    When using the tab key for jumping between the items on the page, the internet explorer jumps also to the labels e.g. of a select list, whereas mozilla firefox jumps only to the items itself.
    Second, if a report has a column with radiogroup, the internet explorer jumps only to the radio button of the first row, then leaves the report, whereas mozilla firefox processes all rows of the report.
    I'd like the internet explorer to behave like the mozilla firefox:
    -- leave out the labels
    -- process all rows of the report
    Any ideas ?

    In HTML Form Element Attributes enter:
    tabindex="1" and for the next element in the row tabindex="2" and so on...
    This way also IE will behave as you like.
    For radio buttons the only solution I know for IE is once the radio button is selected is to use the arrow left or right to move to the next position.
    Denes Kubicek

  • Start stop while loop with tab control

    I want to be able to start and stop a while loop by entering and leaving a tab.  I am using an event structure to do so but it doesn't seem elegant or the right way to do this.  The only way I was able to get it to kind of work is by unchecking the lock front panel box in the event structure.  I have attached a sample vi of what I have so far.
    Solved!
    Go to Solution.
    Attachments:
    Loop test.vi ‏16 KB

    The problem is that you can't even stop the program by hitting the stop button until you leave the tab, which is not a friendly user interface.
    Event structures should just handle basic user events.  Any given event case should not take a long time to run.  While you are in the diagnostics tab, your code is stuck in that while loop.  Although fixing the lock front panel allows you to do other things, the LabVIEW is just queuing up all of those other UI events (like Stop button value change) and can't handle them until the inner while loop stops and allows the outer while loop to iterate again.
    You should have a parallel while loop to handle the waveform graph.  You can use notifiers or queues or an action engine FGV (see Ben's Action Engine Nugget) to pass the starting or stopping of the waveform graph update to the parallel while loop.

  • Tab control with 2 pages

    I want to create a Tab control with 2 pages, in each page there are 2 buttons - "OK" and "Cancel".
    If on Page1, "OK" is clicked, Page2 will be disable and greyed, until "Cancel" is clicked. And vice-versa for Page2 buttons.
    How to do this?
    Thanks in advance...
    Solved!
    Go to Solution.

    Hi Splee,
    Please view the attached vi, I believe it's doing what you've asked. You can invoke properties using property node in order to change the value of variables.
    Hi Simply_me check your Vi will it really works. To make this VI in working condition you have to do some more coding in your code.
    Check your page selection technique.
    Hi Splee,
    First you have to find out on which Tab Page user clicking the buttons, the all operations you have to do on other page.
    Once your page is disable you can't access the controls of that page. As Geeta says make a code using event structure with Tab Control property and invoke nodes. 
    You have to do some coding to achieve your requirements.
    Thanks and Regards
    Himanshu Goyal
    Thanks and Regards
    Himanshu Goyal | LabVIEW Engineer- Power System Automation
    Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
    It Only gets BETTER!!!

  • Tab control bug?

    I have a problem with tab control which has been bugging me for a long time and i can't seem to solve it.
    I have a tab control with 4 pages, A, B, C and D. All these pages are invisible at the beginning. Once the user selects the page from the custom run-time menu, the appropriate page then showns up (PageVis=True). Now, when i try a few more times switching between different pages, some pages showns up together with the intended page. Once i click the correct page's tab, the others disappear. Now this is a problem because when a user is using page A, i do not want he/she to be able to access other pages.
    Can someone help me before i kill someone? Thanks.
    Attachments:
    tab.JPG ‏27 KB

    The order of the property nodes is not defined because you have no dataflow between. Execution order is not defined by where a function is on the block diagram (left, right, top bottom), but how data is connected. You have no connections between the properties so they execute in parallel and you have no way of knowing which one will actually execute first. The simplest way to enforce dataflow is with the error in/error out connections. That is shown below. also shown is one way to select the active page. I used a local variable but if you make the tab control an indicator instead of the default control, just wire a value to the terminal itself.
    Message Edited by Dennis Knutson on 07-26-2007 08:16 PM
    Attachments:
    Tab Control.PNG ‏13 KB

  • Tab control crash

    I was playing with tab control and I saw this crash. No code in block diagram. I added tab control, added couple of tabs, deleted 1 tab and then I saw this crash.
    Thanks.
    CVI 2010
    LabVIEW 2011 SP1
    Vision Builder AI 2011 SP1
    Attachments:
    LV Crash.zip ‏30 KB

    error report is attached in zip file.
    Just like other crashes this crash is not reproduceable.
    Thanks.
    CVI 2010
    LabVIEW 2011 SP1
    Vision Builder AI 2011 SP1

Maybe you are looking for