Mini Kabibi Habibi

Current Path : C:/Users/ITO/Desktop/VF9/program files/microsoft visual foxpro 9/tools/msaa/
Upload File :
Current File : C:/Users/ITO/Desktop/VF9/program files/microsoft visual foxpro 9/tools/msaa/accbrow.sct

XVERSION =   3.00acc.hdataenvironmentdataenvironmentDataenvironment_Top = 220
Left = 1
Width = 520
Height = 200
DataSource = .NULL.
Name = "Dataenvironment"
12formform
frmAccBrowser�DataSession = 2
Height = 490
Width = 589
Desktop = .T.
DoCreate = .T.
ShowTips = .T.
AutoCenter = .T.
BorderStyle = 1
Caption = "Accessibility Browser"
MaxButton = .F.
ldebug = .T.
Name = "frmAccBrowser"
5�PROCEDURE str2guid
Lparameters cstr
LOCAL i, guid
guid = CHR(THIS.hex2val(SUBSTR(cstr,7,2))) + CHR(THIS.hex2val(SUBSTR(cstr,5,2))) +;
	CHR(THIS.hex2val(SUBSTR(cstr,3,2))) + CHR(THIS.hex2val(SUBSTR(cstr,1,2))) +;
	CHR(THIS.hex2val(SUBSTR(cstr,12,2))) + CHR(THIS.hex2val(SUBSTR(cstr,10,2))) +;
	CHR(THIS.hex2val(SUBSTR(cstr,17,2))) + CHR(THIS.hex2val(SUBSTR(cstr,15,2))) + ;
	CHR(THIS.hex2val(SUBSTR(cstr,20,2))) + CHR(THIS.hex2val(SUBSTR(cstr,22,2)))
FOR i = 0 to 5
	guid = guid + CHR(THIS.hex2val(SUBSTR(cstr,25+i *2,2)))
ENDFOR
RETURN guid

ENDPROC
PROCEDURE hex2val
Lparameters cstr
mchars = "0123456789abcdef"
RETURN (ATC(LEFT(cstr,1),mchars) -1) * 16 + (ATC(RIGHT(cstr,1),mchars) -1)

ENDPROC
PROCEDURE addtotree
LPARAMETERS m.oAcc, m.cRootName, m.parentKey, m.nChildIndex

LOCAL i, lcName, nChilds, oChild, childkey
PRIVATE nAccBrowKey
nChilds = 0
parentKey = IIF(TYPE("m.parentKey")#"C", "", ALLTRIM(m.parentKey))
cRootName = IIF(TYPE("m.cRootName")#"C", "", ALLTRIM(m.cRootName))

* Use early binding to test possible difference
IF THIS.lUseEarlyBind
	THIS.lSkiperror = .T.
	oAcc = GETINTERFACE(m.oAcc)
	THIS.lSkiperror = .F.
ENDIF

lcName = ""
lcName = IIF(PCOUNT()>3,oacc.accName(m.nChildIndex),oAcc.accName(0))

DO CASE
CASE !EMPTY(m.cRootName)
	lcName = m.cRootName
CASE EMPTY(m.lcName) OR ISNULL(m.lcName)
	lcName = "nameless"
ENDCASE

lcName = ALLTRIM(lcName)
childkey = SYS(2015)

* Add items to treeview control
IF EMPTY(m.parentKey)
	oNode = THIS.oleTV.nodes.add( , 1, m.childkey , m.lcName)
ELSE
	oNode = THIS.oleTV.nodes.add( m.parentkey, 4, m.childkey, m.lcName)
ENDIF

IF PCOUNT()>3
	oNode.tag = m.nChildIndex
	oNode.Image = THIS.GetImage(oAcc,m.nChildIndex)
	RETURN
ELSE
	oNode.tag = oAcc
	oNode.Image = THIS.GetImage(oAcc)
ENDIF

THISFORM.noletvkey = THISFORM.noletvkey+1

nChilds=oAcc.accChildCount()

FOR i = 1 to nChilds
	oChild = 0
	oChild = THIS.GetObjWithName(oAcc, m.i)
	DO CASE
	CASE VARTYPE(m.oChild) = "O"
		THIS.AddToTree(oChild,"",m.childkey)
	CASE VARTYPE(oChild)="N" AND oChild > 0
		THIS.AddToTree(oAcc,"", m.childkey, m.i)
	CASE ISNULL(oChild)
		* Should not happen, but if it does ignore
	ENDCASE
ENDFOR

ENDPROC
PROCEDURE statetostr
LPARAMETERS nState
local cstate,i
cState = ""
FOR i = 0 TO 29
	IF BITAND(nState, 2^i) > 0
		cState = cState + aState[i+1]+' '
	ENDIF
ENDFOR
RETURN cState

ENDPROC
PROCEDURE handleaccpems
*** ActiveX Control Event ***
#DEFINE MUSTREFRESH_LOC		"The user environment appears to have changed. One or more listed forms no longer appear to exist. Please click the Refresh button again."
LPARAMETERS node
LOCAL ox, cDefa, nleft,ntop,nheight,nwidth, nright, nbottom
LOCAL nRoleIndex,nRole,cstr,nPos,nCount,i,j,oParent,oSelection,cChildName
LOCAL lnChildIndex, loForm, lFoundForm

THIS.lhaderror = .F.
lnChildIndex = 0
nCount = 0
ox = node.tag

IF VARTYPE(ox)="N"
	lnChildIndex = ox
	ox = node.parent.tag
ENDIF

* Use early binding to test possible difference
IF THIS.lUseEarlyBind
	THIS.lSkiperror = .T.
	ox = GETINTERFACE(m.ox)
	THIS.lSkiperror = .F.
ENDIF

* Reset all values
thisform.txtLocation.Value = ""
thisform.cboChildren.Clear
thisform.txtChildCount.Value = 0
thisform.txtDefaultAction.Value = ""
thisform.txtDesc.Value = ""
thisform.txtHelp.Value = ""
thisform.txtHelpTopic.Value = ""
thisform.txtKeyboard.Value =  ""
thisform.txtName.Value =  ""
thisform.txtParent.Value =  ""
thisform.txtRole.Value =  ""
thisform.txtState.Value =  ""
thisform.txtValue.Value =  ""
thisform.txtSelection.Value = ""
thisform.txtFocus.Value = ""
cDefa = ""

* Check if object is still around -- check again Forms collection
IF THIS.lCheckobjects
	FOR i = 1 TO ALEN(THIS.aUserForms)
		loForm = THIS.aUserForms[m.i]
		IF TYPE("loForm.Name")="U"
			MESSAGEBOX(MUSTREFRESH_LOC)
			RETURN
		ENDIF
	ENDFOR
ENDIF

IF VARTYPE(ox)#"O"
	RETURN
ENDIF

cDefa = ox.accDefaultaction(lnChildIndex)
thisform.cmdDefault.Enabled=!EMPTY(cDefa)

* Get accLocation property
nleft=0
ntop=0
nwidth=0
nheight=0
ox.accLocation(@nleft, @ntop, @nwidth, @nheight, lnChildIndex)
nright = nleft + nwidth
nbottom = ntop + nheight
thisform.txtLocation.Value =TRANSFORM(nLeft) + ',' + TRANSFORM(nTop)+','+TRANSFORM(nRight)+','+TRANSFORM(nBottom)

* Get accChildCount property
nCount=IIF(lnChildIndex#0, 0, ox.accChildCount)
thisform.txtChildCount.Value = nCount
thisform.cmdGoChild.Enabled = (nCount>0)

* Get accChild property
IF nCount>0
	FOR i = 1 TO nCount
		DO CASE
		CASE TYPE("ox.accChild(m.i).accName(0)") # "U"
			cChildName = ox.accChild(m.i).accName(0)
		CASE TYPE("ox.accName(m.i)")="C"
			cChildName = ox.accName(m.i)
		CASE TYPE("ox.accName(m.i * -1)")="C"
			cChildName = ox.accName(m.i * -1)
		OTHERWISE
			cChildName=""
		ENDCASE
		cChildName = IIF(ISNULL(cChildName) OR EMPTY(ALLTRIM(cChildName)), "nameless", cChildName)
		thisform.cboChildren.AddItem(cChildName)
  	ENDFOR
  	thisform.cboChildren.ListIndex = 1
ENDIF

thisform.cboChildren.Enabled = (nCount>0)

* Get accDefaultAction property
thisform.txtDefaultAction.Value = ox.accDefaultaction(lnChildIndex)

* Get accDescription property
thisform.txtDesc.Value = ox.accDescription(lnChildIndex)

* Get accFocus property
oFocus=""
oFocus= ox.accFocus
IF VARTYPE(oFocus) = "O"
	thisform.txtFocus.Value = oFocus.accName
ENDIF

* Get accHelp property
thisform.txtHelp.Value = ox.accHelp(lnChildIndex)

* Get accHelpTopic property
*thisform.txtHelpTopic.Value = ox.accHelpTopic(lnChildIndex)

* Get accKeyboardShortcut property
thisform.txtKeyboard.Value = ox.accKeyboardShortcut(lnChildIndex)

* Get accName property
thisform.txtName.Value = ox.accName(lnChildIndex)

* Get accParent property
oParent=""
oParent = IIF(lnChildIndex>0, ox, ox.accParent())
?""
IF VARTYPE(oParent) = "O"
	thisform.txtParent.Value = oParent.accName(0)
	thisform.nParentRole = oParent.accRole(0)
ENDIF

* Get accRole property
nRoleIndex = lnChildIndex
nRole = ox.accRole(nRoleIndex)
cstr = SPACE(256)
nPos = GetRoleText(nRole, @cstr, len(cstr))
cstr = LEFT(cstr,nPos)
thisform.txtRole.Value = cstr

* Get accSelection property
oSelection=""
oSelection = ox.accSelection
IF VARTYPE(oSelection) = "O"
	thisform.txtSelection.Value = oSelection.accName(0)
ENDIF

* Get accState property
cstr = thisform.statetostr(ox.accState(lnChildIndex))
thisform.txtState.Value = cstr

* Get accValue property
thisform.txtValue.Value = ox.accValue(lnChildIndex)

* Update hilite if necessary
IF THIS.chkHilite.Value = 1
	THIS.Flash()
ENDIF

ENDPROC
PROCEDURE getimage
Lparameters oX, lnChildIndex

LOCAL nRoleIndex, nRole, cstr, nPos

nRoleIndex = IIF(PCOUNT()>1,lnChildIndex,0)

nRole = ox.accRole(nRoleIndex)
cstr = SPACE(256)
nPos = GetRoleText(nRole, @cstr, len(cstr))
cstr = LOWER(ALLTRIM(LEFT(cstr,nPos)))

DO CASE
CASE cStr == "application"
	Return "application"
CASE cStr == "check box"
	Return "checkbox"
CASE cStr == "client"
	Return "client"
CASE cStr == "column"
	Return "column"
CASE cStr == "column header"
	Return "colheader"
CASE cStr == "combo box"
	Return "combo"
CASE cStr == "editable text"
	Return "editbox"
CASE cStr == "graphic"
	Return "image"
CASE cStr == "grouping"
	Return "group"
CASE cStr == "list"
	Return "list"
CASE cStr == "list item"
	Return "listitem"
CASE cStr == "popup menu"
	Return "popupmenu"
CASE cStr == "push button"
	Return "button"
CASE cStr == "radio button"
	Return "radio"
CASE cStr == "spin box"
	Return "spinner"
CASE cStr == "table"
	Return "table"
CASE cStr == "text"
	Return "label"
CASE cStr == "tool bar"
	Return "toolbar"
CASE cStr == "unknown object"
	Return "unknown"
CASE cStr == "window"
	Return "window"
CASE cStr == "scroll bar"
	Return "scrollbar"
CASE cStr == "grip"
	Return "sizebox"
CASE cStr == "indicator"
	Return "indicator"
CASE cStr == "status bar"
	Return "statusbar"
CASE cStr == "menu bar"
	Return "menubar"
CASE cStr == "menu item"
	Return "menuitem"
CASE cStr == "link"
	Return "link"
CASE cStr == "title bar"
	Return "titlebar"
CASE cStr == "separator"
	Return "separator"
CASE cStr == "page tab list"
	Return "pageframe"
CASE cStr == "page tab"
	Return "pageframe"
CASE cStr == "dialog"
	Return "proppage"
CASE cStr == "property page"
	Return "proppage"
ENDCASE

Return "unknown"

ENDPROC
PROCEDURE localtoworld
LParameters tnAxis, tnPos, toObj

*-- Select the Axis we are converting
lcAxis = Iif(tnAxis = 0, "Left", "Top")

*-- Calculate offset of all parent containers
loObj = toObj

Do While Type("loObj.Class") = "C"

	*-- Pages in PageFrames don't have Left or Top
	If Type("loObj." + lcAxis) = "N"
		tnPos = tnPos + loObj.&lcAxis
	Endif

	*-- If loObj is a form, we should determine if it's a top level
	*-- form. If so, we've already calculated the world offset. If not
	*-- we need the screen offset.
	If Type("loObj.Class") = "C" And Upper(loObj.Class) = "FORM"
		If loObj.ShowWindow <> 2 && Top-Level Form
			tnPos = tnPos + _Screen.&lcAxis.
		EndIf
	Endif

	If Type("loObj.Tabs") = "L" And tnAxis = 1
		If loObj.Tabs
			tnPos = tnPos + 28 && This may be a sysmetric call
		Else
			tnPos = tnPos + loObj.BorderWidth * 2
		Endif
	Endif
	
	If Type("loObj.Parent") <> "U"
	  	loObj = loObj.Parent
  	Else
  		loObj = .F.
  	Endif
EndDo

Return tnPos
ENDPROC
PROCEDURE getobjwithname
* given an obj and a name, get the child with that name
LPARAMETERS oAcc, nChild

LOCAL nObtained, sChildren, nc, i, otmp, oret, cvar, vt, otmp
oret = .Null.
nc = oAcc.accChildCount
nObtained = 0
sChildren = REPLICATE(CHR(0), m.nc * 16)
IF m.nc > 0 
	i = AccessibleChildren(SYS(3095, oAcc, "{"+IAccguid+"}"), 0, m.nc, @sChildren, @nobtained)
	SYS(3098,oAcc)
	IF m.i= 0
		FOR i = 1 TO m.nc
			cVar = SUBSTR(m.sChildren, 1 + ((m.i - 1) * 16), 16)
			vt = THIS.Str2Num(m.cvar)
			DO CASE
			CASE m.vt = 3	&& non VT_DISPATCH child -- access it via parent index
				RETURN m.nChild
			CASE m.vt = 9 	&& VT_DISPATCH
				otmp = SYS(3096,THIS.Str2Num(SUBSTR(m.cvar,9)))
				IF m.i = nChild
					oret = m.otmp
					* must continue loop so all IDisp get released
				ENDIF
			OTHERWISE
				* Should not happen
			ENDCASE
		ENDFOR
	ELSE
		* AccessibleChildren doesn't work.. try each child obj directly
		FOR i = 1 TO m.nc
			otmp = m.oAcc.accChild(i)
			IF UPPER(m.cName) = UPPER(m.otmp.accName(0))
				oret = m.otmp
				EXIT
			ENDIF
		ENDFOR
	ENDIF
ENDIF
RETURN m.oret

ENDPROC
PROCEDURE str2num
LPARAMETERS cstr
local i,n
n=0
FOR i = 8 TO 1 STEP -1
	n = m.n * 256 + ASC(SUBSTR(m.cstr,m.i,1))
ENDFOR
RETURN n

ENDPROC
PROCEDURE flash
LPARAMETERS nDelay

LOCAL lnLeft, lnTop, lnWidth, lnHeight, lcLoc, oFlash, lnDelay

lnDelay = IIF(VARTYPE(nDelay)#"N", 0, nDelay)

lcLoc = ALLTRIM(THIS.txtLocation.Value)
IF EMPTY(lcLoc)
	RETURN
ENDIF

* Don't display if invisible item
IF ATC("invisible",THIS.txtState.Value)#0
	THIS.oFlash = ""
	RETURN
ENDIF

* Skip for list items in combo box
IF VARTYPE(THIS.nParentRole)#"N" OR THIS.nParentRole=46
	THIS.oFlash = ""
	RETURN
ENDIF

lnLeft = VAL(GETWORDNUM(lcLoc,1,","))
lnTop = VAL(GETWORDNUM(lcLoc,2,","))
lnWidth = VAL(GETWORDNUM(lcLoc,3,",")) - VAL(GETWORDNUM(lcLoc,1,","))
lnHeight = VAL(GETWORDNUM(lcLoc,4,",")) - VAL(GETWORDNUM(lcLoc,2,","))

IF VARTYPE(THIS.oFlash)#"O"
	THIS.oFlash = NEWOBJECT("chighlighter","highlight.vcx")
ENDIF

THIS.oFlash.nleft = lnLeft
THIS.oFlash.ntop = lnTop
THIS.oFlash.nwidth = lnWidth
THIS.oFlash.nheight = lnHeight
THIS.oFlash.Highlight(lnDelay)
ENDPROC
PROCEDURE Deactivate
ACTIVATE SCREEN
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
LOCAL lcErrorMsg
IF THIS.lSkiperror
	RETURN
ENDIF
THIS.lhaderror =.T.
IF INLIST(nError,1426,1943,1440)
	RETURN
ENDIF

TEXT TO lcErrorMsg NOSHOW TEXTMERGE
<<MESSAGE()>>

Location: <<THIS.Name>>
Number: <<TRANSFORM(nError)>>
Method: <<cMethod>>
Message: <<MESSAGE(1)>>
Line: <<TRANSFORM(nline)>>
<<REPLICATE("_",30)>>
Press OK to ignore error and continue. 
Press Cancel to close.

ENDTEXT
		
IF MESSAGEBOX(lcErrorMsg,17)#1
	IF THIS.lDebug
		SET STEP ON 
		RETURN
	ENDIF
	RELEASE THISFORM
	CANCEL
ENDIF

ENDPROC
PROCEDURE Init
SET TALK OFF
DECLARE integer AccessibleChildren IN oleacc.dll integer pAcc, integer childStart, integer nchildren, string @, integer @
DECLARE INTEGER SetForegroundWindow IN win32api INTEGER 
DECLARE INTEGER FindWindow IN win32api STRING , STRING 
DECLARE INTEGER AccessibleObjectFromWindow IN oleacc.dll INTEGER , INTEGER , STRING , OBJECT @
DECLARE INTEGER GetRoleText IN oleacc.dll INTEGER , STRING @, INTEGER
THIS.AccGuid=THIS.str2guid(IAccGuid)
THISFORM.oleTV.object.ImageList = THISFORM.oleImages.object

PUBLIC aState[30]
aState[ 1] = "Unavailable"
aState[ 2] = "Selected"
aState[ 3] = "Focused"
aState[ 4] = "Pressed"
aState[ 5] = "Checked"
aState[ 6] = "Mixed"
aState[ 7] = "Readonly"
aState[ 8] = "HotTracked"
aState[ 9] = "Default"
aState[10] = "Expanded"
aState[11] = "Collapsed"
aState[12] = "Busy"
aState[13] = "Floating"
aState[14] = "Marqueed"
aState[15] = "Animated"
aState[16] = "Invisible"
aState[17] = "Offscreen"
aState[18] = "Sizeable"
aState[19] = "Moveable"
aState[20] = "SelfVoicing"
aState[21] = "Focusable"
aState[22] = "Selectable"
aState[23] = "Linked"
aState[24] = "Traversed"
aState[25] = "MultiSelectable"
aState[26] = "ExtSelecteable"
aState[27] = "Alert_Low"
aState[28] = "Alert_Medium"
aState[29] = "Alert_High"
aState[30] = "Protected"


ENDPROC
.��� {.{.�&
%")r-�*�U>��������T��CCC���\�� CCC���\�� CCC���\�� CCC���\�� CCC���\�� CCC��
�\�� CCC���\�� CCC���\�� CCC���\�� CCC���\�� �������(����.�*T���CCC�����\�� ����	B����UCSTRIGUIDTHISHEX2VALV���T���0123456789abcdef��/B�CC��=����CC��R�����UCSTRMCHARS���
��
��
��
���������5�	�
T�����1T��CC�m.parentKeyb�C���C�
��6��1T��CC�m.cRootNameb�C���C�
��6��%��
�����T�
��a��T��C�
���T�
��-���
T�����0T��CC�t��C�
���
�
C���
6��
H�4����C�
��
��U�T���
����C�
���C�
������T���nameless���T��C����T��C��]��%�C�
������'T��C��
��
��
�������,T��C�
���
��
��
������%�C�t���^�T����
���T���C��
��
���B����T������T���C��
����T��������T��C���������(������
T�����T��C��
��
���
H�����C�
����O��7���C���
��
��� �C����N���	��w� ��C���
��
��
����C��������UOACC	CROOTNAME	PARENTKEYNCHILDINDEXILCNAMENCHILDSOCHILDCHILDKEYNACCBROWKEYTHIS
LUSEEARLYBIND
LSKIPERRORACCNAMEONODEOLETVNODESADDTAGIMAGEGETIMAGETHISFORM	NOLETVKEY
ACCCHILDCOUNTGETOBJWITHNAME	ADDTOTREE��������
T����������(����s�%�C������o�T���C���� �����	B����UNSTATECSTATEIASTATE����#����������+��	�
���
�����������T���-��
T�����
T�
����T������%�C����N����
T�����T��������%������T���a��T��C�
���T���-���T�������
���� �T��!�����T��"�����T��#�����T��$�����T��%�����T��&�����T��'�����T��(�����T��)�����T��*�����T��+�����T��,�����T��-�����
T�����%���.��=������(�C��/��9�T��C�
���/��%�C�loForm.Nameb�U��5����CوThe user environment appears to have changed. One or more listed forms no longer appear to exist. Please click the Refresh button again.�x��B�����%�C����O��Z�B��T��C���0��T��1�2�C��
��
T�����
T�����
T�����
T�����!��C�������3��T������T������6T����C�_�,C�_�,C�_�,C�_��"T�
�C�������46��T��!���
��T��5�2��
���%��
����������(��
����
H�����/�C�ox.accChild(m.i).accName(0)b�U���T��C�C�
���6�7��#�C�ox.accName(m.i)b�C��?�T��C�
���7��(�C�ox.accName(m.i * -1)b�C����T��C�
������7��2���
T������0T��CC���CC�����nameless��6����C����8����T���9�����T���2��
���T��"��C���0��T��#��C���:��
T�;����T�;���<��%�C�;���O����T��-���;�7���T��$��C���=��T��&��C���>��T��'��C���7��
T�����#T��C�����C��?6�������%�C����O��g�T��(��C���7��T��@�C���A���
T�	����T�
�C�	��A��T��C�X��T��C�
�C�>�B��T��C��=��T��)�����
T�����T����C��%�C����O��)�T��,��C���7���T��CC���E��D��T��*�����T��+��C���F��%���G������
��C��H���UINODEOXCDEFANLEFTNTOPNHEIGHTNWIDTHNRIGHTNBOTTOM
NROLEINDEXNROLECSTRNPOSNCOUNTIJOPARENT
OSELECTION
CCHILDNAMELNCHILDINDEXLOFORM
LFOUNDFORMTHIS	LHADERRORTAGPARENT
LUSEEARLYBIND
LSKIPERRORTHISFORMTXTLOCATIONVALUECBOCHILDRENCLEAR
TXTCHILDCOUNTTXTDEFAULTACTIONTXTDESCTXTHELPTXTHELPTOPICTXTKEYBOARDTXTNAME	TXTPARENTTXTROLETXTSTATETXTVALUETXTSELECTIONTXTFOCUS
LCHECKOBJECTS
AUSERFORMSACCDEFAULTACTION
CMDDEFAULTENABLEDACCLOCATION
ACCCHILDCOUNT
CMDGOCHILDACCCHILDACCNAMEADDITEM	LISTINDEXACCDESCRIPTIONOFOCUSACCFOCUSACCHELPACCKEYBOARDSHORTCUT	ACCPARENTNPARENTROLEACCROLEGETROLETEXTACCSELECTION
STATETOSTRACCSTATEACCVALUE	CHKHILITEFLASH����������T��CC�t�����6��T��C�����T��C�X��T��C��C�>���T��CCC��=�@��
H�������application����B��application�����	check box����B��checkbox�����client��!�B��client�����column��G�B��column�����
column header��w�B��	colheader�����	combo box����B��combo�����
editable text����B��editbox�����graphic����B��image�����grouping���B��group�����list��<�
B��list�����	list item��g�B��listitem�����
popup menu����B��	popupmenu�����push button����B��button�����radio button����B��radio�����spin box���B��spinner�����table��7�B��table�����text��Z�B��label�����tool bar����B��toolbar�����unknown object����B��unknown�����window����B��window�����
scroll bar���B��	scrollbar�����grip��*�B��sizebox�����	indicator��V�B��	indicator�����
status bar����B��	statusbar�����menu bar����B��menubar�����	menu item����B��menuitem�����link����
B��link�����	title bar��$�B��titlebar�����	separator��P�B��	separator�����
page tab list����B��	pageframe�����page tab����B��	pageframe�����dialog����B��proppage�����
property page���B��proppage���B��unknown��UOXLNCHILDINDEX
NROLEINDEXNROLECSTRNPOSACCROLEGETROLETEXT������&T��C���
�Left��Top6��
T����� +�C�loObj.Classb�C����%�C�loObj.�b�N����!tnPos = tnPos + loObj.&lcAxis
�3%�C�loObj.Classb�C�C��f�FORM	���%�������$tnPos = tnPos + _Screen.&lcAxis.
��)%�C�
loObj.Tabsb�L���	����%�����b�T���������T���������� %�C�loObj.Parentb�U����T����	�����T��-����	B����U
TNAXISTNPOSTOOBJLCAXISLOOBJCLASS
SHOWWINDOWTABSBORDERWIDTHPARENTw����'���������	��T���T����
��
T�����T��CC� �
��Q��%��
����e�YT��CC���{�$618736E0-3C3D-11CF-810C-00AA00389B71�}]��
��������C��]��%��
�����������(��
�����'T��C�
���
����\��T�	�C�
���
��
H�f�����
�	�����B��
�����
�	�	����!T��C�CC�
��	\��
]��%��
������T���
����2�������a������(��
���]�T��C��
���� %�C�
�fCC��
��f��Y�T���
���!������B��
���UOACCNCHILD	NOBTAINED	SCHILDRENNCIOTMPORETCVARVT
ACCCHILDCOUNTACCESSIBLECHILDRENTHISSTR2NUMACCCHILDCNAMEACCNAMEs�������
T����������(���������c�&T���
��CC�
��
��\����	B����UCSTRIN"������������#T��CC����N����6��T��C��	�
���%�C����q�B��%%�C�	invisible���
������T������B��&%�C�����N����.����T������B��T��CC���,��g��T��CC���,��g��)T��CC���,��gCC���,��g��)T��CC���,��gCC���,��g��%�C�����O����/T���C�chighlighter�
highlight.vcx����T���
����T�������T�������T���������C������UNDELAYLNLEFTLNTOPLNWIDTHLNHEIGHTLCLOCOFLASHLNDELAYTHISTXTLOCATIONVALUETXTSTATENPARENTROLENLEFTNTOPNWIDTHNHEIGHT	HIGHLIGHTt&�U���������%�����*�B��T���a��%�C����������[�B��
M(�`��
<<MESSAGE()>>����Location: <<THIS.Name>>�#�Number: <<TRANSFORM(nError)>>��Method: <<cMethod>>��Message: <<MESSAGE(1)>>� �Line: <<TRANSFORM(nline)>>��<<REPLICATE("_",30)>>�-�'Press OK to ignore error and continue. ��Press Cancel to close.����%�C���x�����%�������G1 �B��<����U	NERRORCMETHODNLINE
LCERRORMSGTHIS
LSKIPERROR	LHADERRORLDEBUGTHISFORM�G2�3|�AccessibleChildren�
oleacc.dll������(|�SetForegroundWindow�win32api�!|�
FindWindow�win32api��8|�AccessibleObjectFromWindow�
oleacc.dll���.�'|�GetRoleText�
oleacc.dll���;T��	�C�$618736E0-3C3D-11CF-810C-00AA00389B71��
��T���
�����
��
7�����T������Unavailable��T������Selected��T������Focused��T������Pressed��T������Checked��T������Mixed��T������Readonly��T������
HotTracked��T���	���Default��T���
���Expanded��T������	Collapsed��T������Busy��T���
���Floating��T������Marqueed��T������Animated��T������	Invisible��T������	Offscreen��T������Sizeable��T������Moveable��T������SelfVoicing��T������	Focusable��T������
Selectable��T������Linked��T������	Traversed��"T������MultiSelectable��!T������ExtSelecteable��T������	Alert_Low��T������Alert_Medium��T������
Alert_High��T������	Protected��UACCESSIBLECHILDRENOLEACCDLLSETFOREGROUNDWINDOWWIN32API
FINDWINDOWACCESSIBLEOBJECTFROMWINDOWGETROLETEXTTHISACCGUIDSTR2GUIDTHISFORMOLETVOBJECT	IMAGELIST	OLEIMAGESASTATEstr2guid,��hex2val���	addtotree���
statetostr~��
handleaccpems ��getimage���localtoworld��getobjwithnameS��str2num[��flash���
Deactivate�!��Error�!��Init�#��1q��
q�A�3q��3�rq��!�A��!��QA�q��A!�A��Arr���q��BA3q��q��AA�3s1�����R�1A�!�A3�1111111111111��q�A	AAAARAARa����a#1�q���1q����AAA1A����QaA����1�Q�qA�Q�!1�Q�A�1�s�A3�2�R�a��A�q�q��!�������Q���!�����a�Q���q��!Q�!�!��Q���!�!�!q�A3�c��A5AAAA���AA��AA�2�r���1��1�qq�1�11�B�BA��q�AAAAA�3q���aA�3q�2R�AASAAcAA������A2111A2Q2�qAA��AA�1a�1�����aAraAAqAA3a1��q��������������q������������!����3)	G�
��=�t	TG�	�`�!�&!�$S"%o)}B�)*�J!*�-�f�-�-�h.?0��Z0|5�){.accguid
noletvkey
oexternalsession
oflash
ctalk
lhaderror
nparentrole
lskiperror
ldebug
luseearlybind
lcheckobjects
*str2guid 
*hex2val 
*addtotree 
*statetostr 
*handleaccpems 
*getimage 
*localtoworld 
*getobjwithname 
*str2num 
*flash 
^auserforms[1,0] 
shapeshapeShape3
frmAccBrowserUTop = 390
Left = 288
Height = 91
Width = 288
SpecialEffect = 0
Name = "Shape3"
shapeshapeShape2
frmAccBrowserUTop = 12
Left = 288
Height = 380
Width = 288
SpecialEffect = 0
Name = "Shape2"
shapeshapeShape1
frmAccBrowserSTop = 12
Left = 12
Height = 72
Width = 264
SpecialEffect = 0
Name = "Shape1"

commandbutton
commandbutton
cmdRefresh
frmAccBrowser�Top = 21
Left = 182
Height = 21
Width = 72
FontName = "Tahoma"
FontSize = 8
Caption = "\<Refresh"
HelpContextID = 1234
StatusBarText = "Stat Bar tEXT"
TabIndex = 3
Name = "cmdRefresh"
'PROCEDURE Click
#DEFINE REFRESHING_LOC		"Refreshing browser..."
#DEFINE TESTHARNESS_LOC		"_VFP Accessiblity Session"

LOCAL retVal,oAcc,oForm,lcName,oSession,i,lnExthWnd,lnAppHwnd

WAIT WINDOW REFRESHING_LOC NOWAIT
THISFORM.oletv.Nodes.Clear
oAcc=0
THISFORM.noletvkey=1

IF THISFORM.ogSession.value#1
	lnExthWnd = FindWindow(0,TESTHARNESS_LOC)
	IF lnExthWnd=0 OR VARTYPE(THISFORM.oExternalSession)#"O"
		THISFORM.oExternalSession = CREATEOBJECT("visualfoxpro.application")
		THISFORM.oExternalSession.Caption = TESTHARNESS_LOC
		THISFORM.oExternalSession.Visible = .T.
		lnExthWnd = FindWindow(0,TESTHARNESS_LOC)
	ELSE
		retval = AccessibleObjectFromWindow(lnExthWnd, OBJID_CLIENT, THISFORM.accguid,@oacc)
	ENDIF
ENDIF

oSession = IIF(THISFORM.ogSession.value=1, _VFP, THISFORM.oexternalsession)

IF THISFORM.chkFormsOnly.Value=0
	oAcc=0
	lnAppHwnd = IIF(THISFORM.ogSession.value=1, _screen.hwnd, lnExthWnd)
	retval = AccessibleObjectFromWindow(lnAppHwnd, OBJID_WINDOW, THISFORM.accguid, @oacc)
	IF VARTYPE(m.oAcc)="O"
		THISFORM.Addtotree(m.oAcc,null)
		THISFORM.oleTV.Nodes.Item(1).Expanded=.T.
	ENDIF
ELSE
	FOR i = 1 TO oSession.Forms.Count
		THISFORM.noletvkey=1
		oForm = oSession.Forms(m.i)
		IF	UPPER(oForm.Name)="CBORDER" AND ATC("highlight.vcx",oForm.ClassLibrary)#0		&&skip for highlight rect
			LOOP
		ENDIF
		lcName = SPACE(256)
		oAcc=0
		retval = AccessibleObjectFromWindow(oForm.hwnd, OBJID_WINDOW, THISFORM.accguid, @oacc)
		lcName = oAcc.accName(0)
		oAcc=0
		retval = AccessibleObjectFromWindow(oForm.hwnd, OBJID_CLIENT, THISFORM.accguid, @oacc)
		IF VARTYPE(m.oAcc)="O"
			THISFORM.Addtotree(oAcc,ALLTRIM(lcName))
		ENDIF
	ENDFOR
ENDIF

* Update array for forms
IF THISFORM.lCheckObjects
	IF oSession.Forms.Count > 0
		DIMENSION THISFORM.aUserForms[oSession.Forms.Count]
		FOR i = 1 TO oSession.Forms.Count	
			THISFORM.aUserForms[m.i] = oSession.Forms(m.i)
		ENDFOR
	ENDIF
ENDIF

WAIT CLEAR

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
2�� B�%0�9N�Ub#���������� R,:��Refreshing browser...�����	�
��
T�����T������%���
������-T��C��_VFP Accessiblity Session���#%����C�����O��l�+T���C�visualfoxpro.application�N��,T�����_VFP Accessiblity Session��T����a��-T��C��_VFP Accessiblity Session������'T��C��
�����A��������'T��C��
����C���6��%���������
T�����'T��C��
����9���6��T��C��
������%�C�
����O��|���C�
������T��	�
������a�����������(��������T������T��C�
�����=%�C��f�CBORDER�C�
highlight.vcx����	��
�.��T��C�X��
T�����!T��C���
������T��C�����
T�����)T��C���
�����A������%�C�
����O������C�C����������%�����V�%�������R��� �����������(������N�"T�� ��
���C�
���������R�U!RETVALOACCOFORMLCNAMEOSESSIONI	LNEXTHWND	LNAPPHWNDTHISFORMOLETVNODESCLEAR	NOLETVKEY	OGSESSIONVALUE
FINDWINDOWOEXTERNALSESSIONCAPTIONVISIBLEACCESSIBLEOBJECTFROMWINDOWACCGUIDCHKFORMSONLYHWND	ADDTOTREEITEMEXPANDEDFORMSCOUNTNAMECLASSLIBRARYACCNAME
LCHECKOBJECTS
AUSERFORMS+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���14�r�1����qAArr�q�qA�A��q�AA�A��qaAAAqa�!AAAR3��1�6�B)textboxtextboxtxtLocation
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 12
Top = 72
Width = 144
Name = "txtLocation"
textboxtextboxtxtRole
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 16
Top = 120
Width = 144
Name = "txtRole"
textboxtextboxtxtState
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 18
Top = 144
Width = 144
Name = "txtState"
textboxtextboxtxtvalue
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 10
Top = 48
Width = 144
Name = "txtvalue"
textboxtextboxtxtKeyboard
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 20
Top = 168
Width = 144
Name = "txtKeyboard"

commandbutton
commandbutton
cmdDefault
frmAccBrowser�Top = 336
Left = 528
Height = 20
Width = 34
FontName = "Tahoma"
FontSize = 8
Caption = "Do It"
TabIndex = 37
Name = "cmdDefault"
�PROCEDURE Click
local ox,oz
IF VARTYPE(thisform.oleTv.SelectedItem)="O"
	THISFORM.oflash=""
	ox = thisform.oleTv.SelectedItem.Tag
	DO CASE
	CASE VARTYPE(ox)="O"
		ox.accDoDefaultAction(0)
	CASE VARTYPE(ox)="N" AND ox>0
		oz = thisform.oleTv.SelectedItem.Parent.Tag
		oz.accDoDefaultAction(ox)
	ENDCASE
	IF THISFORM.chkHilite.Value = 1
		THISFORM.flash()
	ENDIF
ENDIF

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
��� ��l,%�2
�U�����%�C������O����T������T��������
H�Y����C����O��~���C����� �C����N���	����T�����������C������%���	�
�����
��C������UOXOZTHISFORMOLETVSELECTEDITEMOFLASHTAGACCDODEFAULTACTIONPARENT	CHKHILITEVALUEFLASH+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���1��a�Q�Aq�AA3��1��)�labellabelLabel1
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accRole:"
Height = 15
Left = 300
Top = 124
Width = 43
TabIndex = 15
Name = "Label1"
labellabelLabel3
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accLocation:"
Height = 15
Left = 300
Top = 76
Width = 62
TabIndex = 11
Name = "Label3"
labellabelLabel4
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accState:"
Height = 15
Left = 300
Top = 148
Width = 48
TabIndex = 17
Name = "Label4"
labellabelLabel5
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accValue:"
Height = 15
Left = 300
Top = 52
Width = 48
TabIndex = 9
Name = "Label5"
labellabelLabel6
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accKeyboardShortcut:"
Height = 15
Left = 300
Top = 172
Width = 109
TabIndex = 19
Name = "Label6"
optiongroupoptiongroup	ogSession
frmAccBrowserhAutoSize = .F.
ButtonCount = 2
BorderStyle = 0
Value = 1
Height = 44
Left = 18
Top = 18
Width = 144
TabIndex = 2
Name = "ogSession"
Option1.FontName = "Tahoma"
Option1.FontSize = 8
Option1.Caption = "This VFP session"
Option1.Value = 1
Option1.Height = 15
Option1.Left = 5
Option1.Top = 5
Option1.Width = 96
Option1.AutoSize = .T.
Option1.Name = "Option1"
Option2.FontName = "Tahoma"
Option2.FontSize = 8
Option2.Caption = "Separate VFP session"
Option2.Value = 0
Option2.Height = 15
Option2.Left = 5
Option2.Top = 28
Option2.Width = 121
Option2.AutoSize = .T.
Option2.Name = "Option2"
labellabelLabel7
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "Member detail"
Height = 15
Left = 300
Top = 6
Width = 69
TabIndex = 6
Name = "Label7"

olecontrol
olecontrol	oleImages
frmAccBrowserCTop = 24
Left = 372
Height = 48
Width = 48
Name = "oleImages"
k���ࡱ�>��	��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./01234����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry����������'��t��OleObjectData�����aAccessObjSiteData&������������\ChangedProps������������=����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\$89368265E-85FE-11d1-8BE3-0000F8754DA1$89368265E�ImageHeight	I
ImageWidth	I
o#$,����j��(6(!C4���~���������ͫȕx����� formformapplicationapplicationlistitemlistitemunknownunknown	colheader	colheadergroupgroup���������xw��������������������xw������	�������	�������	��������������������������������������������������������������������������������������������lt>(( ����������������������������������������wwp��wwww��wwww�wwp���������������������lt�  �( @����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lt>(( �����������������������������x���x���x��wpwwwp�������������!�!�!�!�!����������	lt>(( �������������������������������������������������������������������������������
lt>(( ����������������������������pwp�wpwwp`��f��������������������������������lt>(( ���������������������������������������������������������?�����������?����lt>(( ������������������������������������������������������������ww����������������������
lt>(( ����������������������������pp�����wwwwxwwwwxwwwwxwwwwx�����pp������������������������lt>(( �������������������������������������������������������������������lt>(( ����������������������������������#$,����j��(6(!C4���~����������ͫȕx����� formformapplicationapplicationlistitemlistitemunknownunknown	colheader	colheadergroupgroupcolumncolumntoolbartoolbarcheckboxcheckboximageimageradioradio	pageframe	pageframebuttonbuttonspinnerspinnerlabellabeltabletablecombocombolistlisteditboxeditboxclientclientlinklink	indicator	indicatormenubarmenubarmenuitemmenuitem	popupmenu	popupmenu	scrollbar	scrollbarsizeboxsizebox	statusbar	statusbartitlebartitlebarwindowwindowproppageproppage	separator	separator lt6(&  �N( ����������������������������x�����������������������������������������������( @�������������������������������wxpx�����wx��wx��������������������������������������������������wwww���������wwww���������wwww���������wwww���������������������������������������0���0���������@������������0�0������ww����������������������������������?����������������lt�  �( @���������������������������������������������	�����	���	��
�������������	��������������������������������������������������~����������������������?������������������������lt�  �( @����������������������������������������������w��w������������������������������������w�����������������wwwwwwwwp���������������������������������������������������������������������?�?�?�?�?�?�?�?�?�?�?�?������������lt>(( ����������������������������������������������������������������������������������lt�  �( @�����������������������������������xw������xw����������Ã������?�?��������lt6(&  �N( ��������������������������������������������������������������������wwwwwwp�����������������������������������������( @���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wwwwxwwwwxwwwwwwwwxwwwwxwwww�����������������������������������������������������������������������lt>(( ��������������������������������w�p��|�p����wwp������wwp���|�p����w�p����p����w����������������lt>(( ��������������������������������wwp����w�p��|�p����wwp������wwp���|�p����w�p����wwp���������������������lt>(( �������������������������������aI$I$a$Y$c<<���lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������������wwwp�wwwp�wwwp�����������������������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( �������������������������������L��@�D�����LȀ��@���@����DDDD@;�����@ü�@L;���D��L��̼��@�L�������������������������
�3��lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������wwwwpwwwwpw���pppppppwwwwpwwwwpwwwwp����������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ��������������������������������������������������������������������	����	�����	�����	����������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ��������������������������������������������������������������������������������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������	�����	�����	�����	�����			�����	�����	�����	�����	�����	�����������������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������wwwwww�����wxww�pxpw�xp�pxpw�wxww�wwwwww����������@�@�@�@�@�@�~�������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( �����������������������������������wwwwww�����p�p�p��w���wp�p�w�ww���wwp�p��www��wwwp�w�wwww��wwwwp��wwwww�wwwwwwp�����!�ȉ�A�!����A�!��	���lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������wwwwwwp�������wwwwwwp�wwwwwp�ppppp�ppppp�wwpwp�wwwwwp��������wwwwwp�wwwwwp�wwwwwp��������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( �����������������������������pppppp��pppppp��pppppp����������DDDD���DDDD��DDDD���DDDD���DDDD�������wwwwwww�����U���U���U����������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������������������������������������������������������������������lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������wwwwwwx��x���w�x�����pwwwwwwwwwp��p�wwwwwwp���wwwwww�������������������� lt6  �&(( @������������������������������������������������������������������������������������������������������������������������������������������������������������( ����������������������������wwwwwwpwwwwwwpwwwwwwp�������wwwwwwpwwwwwwpwwwwwwp�������������������������,OLEObject = C:\WINNT\System32\mscomctl.ocx

olecontrol
olecontrololeTV
frmAccBrowserNTop = 96
Left = 12
Height = 384
Width = 264
TabIndex = 5
Name = "oleTV"
5PROCEDURE NodeClick
*** ActiveX Control Event ***
LPARAMETERS node
THISFORM.handleaccpems(node)

ENDPROC
PROCEDURE Destroy
LOCAL i
for i = 1 to this.Nodes.Count
	this.Nodes(i).Tag = 0
endfor
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
if nError = 1426
	return
endif

ENDPROC
�� ��TD%eI�U�����C�����UNODETHISFORM
HANDLEACCPEMSD��������(������=�T������������UITHISNODESCOUNTTAG,�����%������%�B��UNERRORCMETHODNLINE	NodeClick,��Destroyj��Error���1r3q��A2�!AA2d��	�*
)���ࡱ�>��	��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry���������H*��t�@OleObjectData�����AccessObjSiteData&������������\ChangedProps�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Alj���j��(6(!C4I�'�<�j"<��&��ͫ\$89368265E-85FE-11d1-8BE3-0000F8754DA10-000000000046}Wo�HideSelectionLIndentationN
@
LabelEdit	I

MousePointer	I
PathSeparator
H\OLEDragMode	I
OLEDropMode	I
�(����\����R�������K�Q�DB
MS Sans Serif@�OLEDropMode	I
�rrr����~'''����p�������������������������������������������������������������������������������������������������������������������������������������������������,OLEObject = C:\WINNT\System32\mscomctl.ocx
labellabelLabel10
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accNavigate:"
Height = 15
Left = 300
Top = 408
Width = 65
TabIndex = 40
Name = "Label10"
labellabelLabel11
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accChild:"
Height = 15
Left = 300
Top = 268
Width = 45
TabIndex = 28
Name = "Label11"
labellabelLabel12
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accChildCount:"
Height = 15
Left = 300
Top = 292
Width = 74
TabIndex = 31
Name = "Label12"
labellabelLabel13
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accDefaultAction:"
Height = 15
Left = 300
Top = 340
Width = 87
TabIndex = 35
Name = "Label13"
labellabelLabel14
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accDescription:"
Height = 15
Left = 300
Top = 100
Width = 75
TabIndex = 13
Name = "Label14"
labellabelLabel15
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accFocus:"
Height = 15
Left = 300
Top = 364
Width = 50
TabIndex = 38
Name = "Label15"
labellabelLabel16
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accHelp:"
Height = 15
Left = 300
Top = 196
Width = 43
TabIndex = 21
ForeColor = 0,0,0
Name = "Label16"
labellabelLabel17
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accHelpTopic:"
Height = 15
Left = 300
Top = 220
Width = 68
TabIndex = 23
ForeColor = 0,0,0
Name = "Label17"
labellabelLabel18
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accName:"
Height = 15
Left = 300
Top = 28
Width = 49
TabIndex = 7
Name = "Label18"
labellabelLabel19
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accParent:"
Height = 15
Left = 300
Top = 244
Width = 54
TabIndex = 25
Name = "Label19"
labellabelLabel20
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "accSelection:"
Height = 15
Left = 300
Top = 316
Width = 65
TabIndex = 33
Name = "Label20"
textboxtextboxtxtSelection
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 34
Top = 312
Width = 144
Name = "txtSelection"
textboxtextbox	txtParent
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 26
Top = 240
Width = 96
Name = "txtParent"
textboxtextboxtxtName
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 8
Top = 24
Width = 144
Name = "txtName"
textboxtextboxtxtHelpTopic
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 24
Top = 216
Width = 144
Name = "txtHelpTopic"
textboxtextboxtxtHelp
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 22
Top = 192
Width = 144
Name = "txtHelp"
textboxtextboxtxtDesc
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 14
Top = 96
Width = 144
Name = "txtDesc"
textboxtextboxtxtFocus
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 39
Top = 360
Width = 144
Name = "txtFocus"
textboxtextbox
txtChildCount
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Alignment = 0
Value = 0
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 32
Top = 288
Width = 144
Name = "txtChildCount"
textboxtextboxtxtDefaultAction
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
ReadOnly = .T.
TabIndex = 36
Top = 336
Width = 96
Name = "txtDefaultAction"

commandbutton
commandbutton
cmdGoChild
frmAccBrowser�Top = 264
Left = 528
Height = 20
Width = 34
FontName = "Tahoma"
FontSize = 8
Caption = "Go"
Enabled = .F.
TabIndex = 30
Name = "cmdGoChild"
�PROCEDURE Click
local loChild,i

loChild = thisform.oleTv.SelectedItem.Child		&&reference to first child
FOR i = 1 TO thisform.oleTv.SelectedItem.Children
	IF m.i = THISFORM.cboChildren.ListIndex
		lochild.Selected = .T.
		EXIT
	ENDIF
	loChild = loChild.Next
ENDFOR
thisform.handleaccpems(thisform.oleTv.SelectedItem)

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
F�� --M%����U�����T�������� �����(���������%��
������l�T��	�a��!��T����
������C�������ULOCHILDITHISFORMOLETVSELECTEDITEMCHILDCHILDRENCBOCHILDREN	LISTINDEXSELECTEDNEXT
HANDLEACCPEMS+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error@��1�b��AAAa3��1Jf�)-
commandbutton
commandbuttoncmdGoParent
frmAccBrowser�Top = 240
Left = 528
Height = 20
Width = 34
FontName = "Tahoma"
FontSize = 8
Caption = "Go"
Enabled = .T.
TabIndex = 27
Name = "cmdGoParent"
$PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
PROCEDURE Click
local ox
nIndex = thisform.oleTv.SelectedItem.Index
thisform.oleTv.Nodes.Item(nIndex).Parent.Selected=.T.
thisform.handleaccpems(thisform.oleTv.SelectedItem)

ENDPROC
�� ��{�%>n	\�U+�������C�������UNERRORCMETHODNLINETHISFORMERRORV���T�������� T���������	�a����C�����
��UOXNINDEXTHISFORMOLETVSELECTEDITEMINDEXNODESITEMPARENTSELECTED
HANDLEACCPEMSError,��Click���1��2qaa2[w)�comboboxcomboboxcboChildren
frmAccBrowser�FontName = "Tahoma"
FontSize = 8
Height = 21
Left = 420
Style = 2
TabIndex = 29
Top = 264
Width = 100
ReadOnly = .F.
Name = "cboChildren"
checkboxcheckboxchkFormsOnly
frmAccBrowser�Top = 46
Left = 183
Height = 15
Width = 70
FontName = "Tahoma"
FontSize = 8
AutoSize = .T.
Caption = "Forms only"
Value = 1
TabIndex = 4
Name = "chkFormsOnly"

commandbutton
commandbuttoncmdFlash
frmAccBrowser�Top = 444
Left = 490
Height = 26
Width = 48
FontName = "Tahoma"
FontSize = 8
Caption = "\<Flash"
HelpContextID = 1234
StatusBarText = "Stat Bar tEXT"
TabIndex = 46
Name = "cmdFlash"
�PROCEDURE Click
#DEFINE FLASHDELAY		1
THISFORM.flash(FLASHDELAY)
THISFORM.oflash = ""
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
b�� IId%����U#��C�����T������UTHISFORMFLASHOFLASH+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Errorl��12��1Xt�)IlabellabelLabel2
frmAccBrowser�AutoSize = .T.
FontName = "Tahoma"
FontSize = 8
Caption = "Session"
Height = 15
Left = 24
Top = 6
Width = 38
TabIndex = 1
Name = "Label2"

commandbutton
commandbutton	cmdSelect
frmAccBrowser�Top = 444
Left = 300
Height = 26
Width = 48
FontName = "Tahoma"
FontSize = 8
Caption = "\<Select"
HelpContextID = 1234
StatusBarText = "Stat Bar tEXT"
TabIndex = 43
Name = "cmdSelect"
-PROCEDURE Click
local ox
IF VARTYPE(thisform.oleTv.SelectedItem)="O"
	ox = thisform.oleTv.SelectedItem.Tag
	IF VARTYPE(ox)="O"
		ox.accSelect(SELFLAG_TAKESELECTION,0)
	ENDIF
ENDIF

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
�� ���2%&\D�Uk���%�C������O��d�T��������%�C����O��`���C�
�������UOXTHISFORMOLETVSELECTEDITEMTAG	ACCSELECT+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���1q�aQ1AA3��1�	�")�
commandbutton
commandbuttoncmdFocus
frmAccBrowser�Top = 444
Left = 350
Height = 26
Width = 48
FontName = "Tahoma"
FontSize = 8
Caption = "\<Focus"
HelpContextID = 1234
StatusBarText = "Stat Bar tEXT"
TabIndex = 44
Name = "cmdFocus"
)PROCEDURE Click
local ox
IF VARTYPE(thisform.oleTv.SelectedItem)="O"
	ox = thisform.oleTv.SelectedItem.Tag
	IF VARTYPE(ox)="O"
		ox.accSelect(SELFLAG_TAKEFOCUS,0)
	ENDIF
ENDIF

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
�� ���2%&\D�Uk���%�C������O��d�T��������%�C����O��`���C�
�������UOXTHISFORMOLETVSELECTEDITEMTAG	ACCSELECT+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���1q�aQ1AA3��1�	�)�
commandbutton
commandbuttoncmdClick
frmAccBrowser�Top = 444
Left = 400
Height = 26
Width = 48
FontName = "Tahoma"
FontSize = 8
Caption = "\<Click"
HelpContextID = 1234
StatusBarText = "Stat Bar tEXT"
TabIndex = 45
Name = "cmdClick"
@PROCEDURE Click
local ox
IF VARTYPE(thisform.oleTv.SelectedItem)="O"
	ox = thisform.oleTv.SelectedItem.Tag
	IF VARTYPE(ox)="O"
		ox.accSelect(SELFLAG_TAKEFOCUS+SELFLAG_TAKESELECTION ,0)
	ENDIF
ENDIF

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
�� ���2%&\D�Uk���%�C������O��d�T��������%�C����O��`���C��������UOXTHISFORMOLETVSELECTEDITEMTAG	ACCSELECT+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���1q�aQ1AA3��1�	�5)�
commandbutton
commandbutton
cmdAccPrev
frmAccBrowser�Top = 406
Left = 372
Height = 17
Width = 30
FontName = "Tahoma"
FontSize = 8
Caption = "<-"
TabIndex = 41
Name = "cmdAccPrev"
EPROCEDURE Click
#DEFINE NOACCNAV_LOC	'Object navigation is only supported with "Separate VFP session" option.'
local ox,oNextObj

IF THISFORM.ogSession.value=1
	WAIT WINDOW NOACCNAV_LOC NOWAIT
	RETURN
ENDIF

IF VARTYPE(thisform.oleTv.SelectedItem)="O"
	ox = thisform.oleTv.SelectedItem.Tag
	IF VARTYPE(ox)="O"
		oNextObj = ox.accNavigate(NAVDIR_PREVIOUS,0)
		IF VARTYPE(oNextObj) = "O"
			WAIT WINDOW oNextObj.accName(0) NOWAIT
		ENDIF
	ENDIF
ENDIF 

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
��� ���q%�5�U����%�������x�RR,:��GObject navigation is only supported with "Separate VFP session" option.��B��%�C������O���T��������%�C����O���T��C������%�C����O���R,:�C���	�����U
OXONEXTOBJTHISFORM	OGSESSIONVALUEOLETVSELECTEDITEMTAGACCNAVIGATEACCNAME+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���1�r!AA�aQqQ!AAA3��1��:)�
commandbutton
commandbutton
cmdAccNext
frmAccBrowser�Top = 406
Left = 408
Height = 17
Width = 28
FontName = "Tahoma"
FontSize = 8
Caption = "->"
TabIndex = 42
Name = "cmdAccNext"
@PROCEDURE Click
#DEFINE NOACCNAV2_LOC	'Object navigation is only supported with "Separate VFP session" option.'
local ox,oNextObj

IF THISFORM.ogSession.value=1
	WAIT WINDOW NOACCNAV2_LOC NOWAIT
	RETURN
ENDIF
IF VARTYPE(thisform.oleTv.SelectedItem)="O"
	ox = thisform.oleTv.SelectedItem.Tag
	IF VARTYPE(ox)="O"
		oNextObj = ox.accNavigate(NAVDIR_NEXT,0)
		IF VARTYPE(oNextObj) = "O"
			WAIT WINDOW oNextObj.accName(0) NOWAIT
		ENDIF
	ENDIF
ENDIF

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THISFORM.Error(nError, cMethod, nLine)
ENDPROC
��� ���q%�5�U����%�������x�RR,:��GObject navigation is only supported with "Separate VFP session" option.��B��%�C������O���T��������%�C����O���T��C������%�C����O���R,:�C���	�����U
OXONEXTOBJTHISFORM	OGSESSIONVALUEOLETVSELECTEDITEMTAGACCNAVIGATEACCNAME+�������C�������UNERRORCMETHODNLINETHISFORMERRORClick,��Error���1�r!AA�aQqQ!AAA3��1��5)�
commandbutton
commandbutton	cmdExpand
frmAccBrowser�Top = 64
Left = 240
Height = 15
Width = 15
FontName = "Tahoma"
FontSize = 8
Caption = "+"
TabIndex = 48
Name = "cmdExpand"
�PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

ENDPROC
PROCEDURE Click
LOCAL i
FOR i = 1 TO thisform.oleTV.Nodes.Count
	thisform.oleTV.Nodes(m.i).Expanded=.T.
ENDFOR

ENDPROC
t�� [[gj%���U�����UNERRORCMETHODNLINEJ��� �����(�������C�T�����
����a����UITHISFORMOLETVNODESCOUNTEXPANDEDError,��ClickZ��1�3q�A25Q�)[
commandbutton
commandbuttoncmdCollapse
frmAccBrowser�Top = 64
Left = 255
Height = 15
Width = 15
FontName = "Tahoma"
FontSize = 8
Caption = "-"
TabIndex = 49
Name = "cmdCollapse"
�PROCEDURE Click
LOCAL i
FOR i = 1 TO thisform.oleTV.Nodes.Count
	thisform.oleTV.Nodes(m.i).Expanded=.F.
ENDFOR
thisform.oleTV.Nodes(1).Selected =.T.
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

ENDPROC
��� ��M%�(	�Ud��� �����(�������C�T�����
����-����T��������a��UITHISFORMOLETVNODESCOUNTEXPANDEDSELECTED�����UNERRORCMETHODNLINEClick,��Error���1q�A�2�2���)�checkboxcheckbox	chkHilite
frmAccBrowser�Top = 444
Left = 540
Height = 26
Width = 27
FontName = "Tahoma"
FontSize = 8
Picture = hilite.bmp
Caption = ""
Style = 1
TabIndex = 47
ToolTipText = "Automatically highlight object"
Name = "chkHilite"
�PROCEDURE Click
IF THIS.Value = 0
	THISFORM.oflash=""
ELSE
	THISFORM.flash()
ENDIF
THISFORM.tmrHilite.Enabled = (THIS.Value#0)
ENDPROC
F�� --��%����U[%������$�T�������9�
��C�����T���������UTHISVALUETHISFORMOFLASHFLASH	TMRHILITEENABLEDClick,��1A��A�1�)-timertimer	tmrHilite
frmAccBrowsercTop = 408
Left = 540
Height = 23
Width = 23
Enabled = .F.
Interval = 500
Name = "tmrHilite"
�PROCEDURE Timer
#DEFINE MUSTREFRESH2_LOC		"The user environment appears to have changed. One or more listed forms no longer appear to exist. Please click the Refresh button again. Highlighting will be disabled until refresh occurs."
LOCAL ox,oz,nleft,ntop,nwidth,nheight,lnChildIndex,loform

IF THISFORM.chkHilite.Value = 1
	IF _screen.WindowState = 1
		THISFORM.oFlash = ""
		RETURN
	ENDIF
	IF VARTYPE(thisform.oleTv.SelectedItem) = "O"
	
		* Check if object is still around -- check again Forms collection
		IF THISFORM.lcheckobjects 
			FOR i = 1 TO ALEN(THISFORM.aUserForms)
				loForm = THISFORM.aUserForms[m.i]
				IF TYPE("loForm.Name")="U"
					THISFORM.oFlash = ""
					THISFORM.chkHilite.Value = 0
					MESSAGEBOX(MUSTREFRESH2_LOC)
					RETURN
				ENDIF
			ENDFOR
		ENDIF

		lnChildIndex=0
		ox = THISFORM.oleTv.SelectedItem.Tag
		IF VARTYPE(ox)="N" AND ox>0
			lnChildIndex = ox
			ox = THISFORM.oleTv.SelectedItem.Parent.Tag
		ENDIF
		IF Type("ox")#"O" OR OX=null OR TYPE("ox.accName(lnChildIndex)") # "C"
			THISFORM.oFlash = ""
			RETURN
		ENDIF
		* Get accLocation property
		nleft=0
		ntop=0
		nwidth=0	
		nheight=0
		ox.accLocation(@nleft, @ntop, @nwidth, @nheight, lnChildIndex)
		nright = nleft + nwidth
		nbottom = ntop + nheight
		THISFORM.txtLocation.Value =TRANSFORM(nLeft) + ',' + TRANSFORM(nTop)+','+TRANSFORM(nRight)+','+TRANSFORM(nBottom)
		THISFORM.Flash()
	ENDIF
ENDIF

ENDPROC
>�� %%��%{�)��Ul#����������%���	�
���e�%��9����a�T������B��%�C��
����O��a�%������������(�C������T��C�
�����%�C�loForm.Nameb�U����T������T��	�
�������CټThe user environment appears to have changed. One or more listed forms no longer appear to exist. Please click the Refresh button again. Highlighting will be disabled until refresh occurs.�x��B�����
T�����T����
���� %�C����N���	��F�
T�����T����
������E%�C�oxb�O����#C�ox.accName(lnChildIndex)b�C����T������B��
T�����
T�����
T�����
T�����!��C���������T������T������6T���
�C�_�,C�_�,C�_�,C�_��
��C������UOXOZNLEFTNTOPNWIDTHNHEIGHTLNCHILDINDEXLOFORMTHISFORM	CHKHILITEVALUEWINDOWSTATEOFLASHOLETVSELECTEDITEM
LCHECKOBJECTSI
AUSERFORMSTAGPARENTACCLOCATIONNRIGHTNBOTTOMTXTLOCATIONFLASHTimer,��12r1AA��q�1�AAAA�a��AQAA����a�AA2�)%CArial, 0, 9, 5, 15, 12, 32, 3, 0
Tahoma, 0, 8, 5, 13, 11, 21, 2, 0
acc.h~�Dv�,