[jawsscripts] Re: Focusable Window Routine

  • From: Chad Foster <chad.foster@xxxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Wed, 15 Apr 2009 15:18:48 -0400

Hi Sean-

I ended up writing a quick and dirty function based on the
EnumerateChildWindows function. Within the helper function it calls I
check the hierarchical position of the windows we are traversing
versus the position of the focused window. When we are either beneath
(Y), or further to the right (X), I evaluate the window for
focusability based on control type, and window style bit flags.

EnumerateChildWindows calls a function that passes it the window
handle of each child of the window specified in the parameter list.
You insert your logic in the helper function and use some globals to
pass the target window handle back to the calling script. Basically,
you just have to define the highest window level, walk that level
while calling this EnumerateChildWindows function, and have your
helper function looking for the right window attributes all the while.

I am sure I can make this more intelligent as time goes on, but I
needed something quick to ramp up with WebEx Meeting Manager here at
work.

The one rub is that my current logic does not work so well on the
reverse -- shift-tabbing. That will take some more tweaking, but at
least I can use the program a little better now.

Thanks,

Chad


On 4/15/09, Sean Randall <seanr@xxxxxxxxxxxxxxx> wrote:
> Chad,
>
> I don't - so you can stop reading if you like.
>
> My question being how's that going to work?  Would you have to write some
> sort of recursive function to probe hierarchically, from appMainWindow and
> there down? What defines "focusable"? Standard windows dialog boxes use
> ws_tabstop to tell a control to enter the tab-order, but this is by no means
> used everywhere and not required for focus.
>
> Sean.
>
> -----Original Message-----
> From: jawsscripts-bounce@xxxxxxxxxxxxx
> [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Chad Foster
> Sent: Wednesday, April 15, 2009 6:08 PM
> To: jawsscripts
> Subject: [jawsscripts] Focusable Window Routine
>
> Does anyone have a reusable, generic routine for locating windows that
> are focusable?
>
> I want to overwrite the TAB and SHIFT+TAB keystrokes and do not want
> to reinvent the wheel.
>
>
> Thanks,
>
> Chad
>
>
> --
> Chad Foster
> Access Technology Solutions
> Leveling The Playing Field Through Technology
> http://www.GO-ATS.net
> __________
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
> __________
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
>


-- 
Chad Foster
Access Technology Solutions
Leveling The Playing Field Through Technology
http://www.GO-ATS.net
__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: