[jawsscripts] Re: how to use MSAA

You will need to explore the MSAA hierarchy to find if the information is
there. Microsoft Inspector, or  the BX  toolkit or similar should be able to
help you.

If it is there then you need to navigate to it. Starting with the parent
object that you can get too, it appears you do have one in our script now,
navigate using accNavigate.

let object = object.accNavigate(7,0) (move to first child) 

let object = object.accNavigate(5,0) (move to next object)


-----Original Message-----
From: jawsscripts-bounce@xxxxxxxxxxxxx
[mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Cohn, Jonathan C [IT]
Sent: Friday, October 10, 2008 12:25 PM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] how to use MSAA

OK this is my third attempt at getting a response .
I am working with office communicator and there appears to be only one
"window" in the main application window that lets one change their status,
search for a contact and change status.

I took large portions of the MSN scripts and have gotten them to work.  They
mostly depend on various events like FocusChangeEvent,
ActiveItemChangeEvent, and

ValueChangedEvent .



In the "Contact List" there are several ListBoxItems most of these have a
"Contact Presence",  object that I can see with bx (and activate the
associated button).  This "Contact Presence",  has a subObject that lists
how long the associated contact will be available but I can not figure out
how to navigate down to this grandchild of the MSAA object that has focus.



Any help would be greatly appreciated.



Jon





script TestListBoxItem()

;test the object to see if it is list box item and try to print proper
state.

var

handle hwin,

string sText,

string sValue,

string sParentObjectName,

int iObjType,

int iSubType,

handle

iFocusObject ,

handle iObject

SayInteger(100)

let hwin = GetFocus ()

If GlobalWindowClass ==cwc_DirectUIHWND Then

let iObjType=GetObjectSubTypeCode()

If iObjType==WT_LISTBOXITEM Then

if ! giIsInContactList then

let sParentObjectName = GetObjectName (true, 1)

IF ! StringCompare (sParentObjectName , "Contact List", true) THEN

let giIsInContactList=true



sayString(sText)

endif

ENDIF

IF giIsInContactList THEN

sayString(navGetObjectName (navGetFirstChildObjectID (navGetCurrentObjectID
() ))

)

ENDIF

let

sValue = ""

If GetObjectInfoByName (hwin, "Contact Presence", 1, iSubType, giState,
sValue) Then

;

;;what do I do here to get child objects

 sayString(sValue)

let iFocusObject = navGetFocusObjectID ()

SayObjectTypeAndText (iFocusObject)

let iObject = navGetFirstChildObjectID (iFocusObject, hwin)

sayObjectTypeAndText(iObject)

endif

endif ; ListBox Item

endif ; Direct UI

EndScript



__________ 
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

Other related posts: