Hi, I'll try to explain how this works. If someone has any ideas about how to tackle this, please pipe up. I'm using a program that has two sets of tab controls. I'm only interested in one of them for my purposes. I want to pretend like I'm dealing with a multi page dialog. In reality, I'm not. Here's what happens so far. When I'm on the tab controls, arrow keys move me back and forth and speak the selection focus lands on. I coded this specially, because when it happens, focus actually jumps off of the tab controls. I jump it back there after a short delay to allow the control to switch, and I turn speech off and on again. It works pretty well. The second and third situations are what I want to take care of. If I land in the program from outside it, I want to find my tab controls and speak the selected one. I want to write a separate function to do this. This will take care of the third situation, which is this. I want to make the selected tab control speak when I use Control + Page Up and Control + Page Down from within the program. I am unsure exactly where my tab controls are in the window hierarchy of the program. I think I may be lucky in that they are using MSAA to show the tab that is selected. I think that if I can reliably get at the tab controls from anywhere in the program, I can simply speak them and go about my business, but I'm not sure of the best approach. For example, can I count on them being in the same place from invocation to invocation of the program? If not, how do I distinguish them from the other set of tab controls and make sure that I find the tab controls I'm interested in, then speak them? Thanks for any and all help. Jim ________________________________ This e-mail and any attachments to it are confidential and are intended solely for use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please notify the sender immediately and then delete it. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this e-mail without the author's prior permission. The views expressed in this e-mail message do not necessarily represent the views of Highmark Inc., its subsidiaries, or affiliates. __________� View the list's information and change your settings at //www.freelists.org/list/jawsscripts