Microsoft KB Archive/319002

= FIX: Toolbar May Cause Incorrect Control Focus with Microsoft Active Accessibility =

Article ID: 319002

Article Last Modified on 5/17/2002

-

APPLIES TO


 * Microsoft Visual FoxPro 7.0 Professional Edition

-



This article was previously published under Q319002



SYMPTOMS
When you use the Accessible Event Watcher from the Microsoft Active Accessibility Software Development Kit (SDK), and a toolbar control is present, Microsoft Active Accessibility may incorrectly indicate that a control on the toolbar has focus, when the control on the form actually has the focus. This may also occur with screen reader products that use Active Accessibility.



RESOLUTION
To resolve this problem, obtain the latest service pack for Visual FoxPro for Windows 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

316964 How to Obtain the Latest Visual FoxPro for Windows 7.0 Service Pack



STATUS
Microsoft has confirmed that this is a problem in Microsoft Visual FoxPro for Windows 7.0.

This problem was first corrected in Visual FoxPro for Windows 7.0 Service Pack 1.



Steps to Reproduce the Behavior
 Download the following files from Microsoft Active Accessibility 2.0 SDK Tools (http://www.msdn.Microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/785/msdncompositedoc.xml), and then save them in the same folder:  Accevent32.exe Event32.dll

 Start Visual FoxPro 7.0. Make sure that the Properties window is closed. Run the Accessible Event Watcher (AccEvent32.exe) from the files that you downloaded.</li>  Return to Visual FoxPro, paste the following code in a program (.prg), and then run the program from the Command window: PUBLIC oForm AS FORM, ; oTB AS TOOLBAR

oTB = NULL oForm = NEWOBJECT(&quot;MyForm&quot;) oForm.SHOW READ EVENTS RELEASE oTB RELEASE oForm

DEFINE CLASS MyForm AS FORM AUTOCENTER = .T.   SHOWWINDOW = 2

ADD OBJECT FormText1 AS TEXTBOX WITH TOP = 50 ADD OBJECT FormEdit1 AS EDITBOX WITH TOP = 80

ADD OBJECT FormOptiongroup1 AS OPTIONGROUP WITH TOP = 150, ; BUTTONCOUNT = 2, ; HEIGHT = 50, ; WIDTH = 150

PROCEDURE FormOptiongroup1.INIT THIS.SETALL(&quot;Autosize&quot;, .T.) ENDPROC

ADD OBJECT FormOptiongroup2 AS OPTIONGROUP WITH TOP = 150, ; BUTTONCOUNT = 2, ; HEIGHT = 50, ; WIDTH = 150, ; LEFT = 175

PROCEDURE FormOptiongroup2.INIT THIS.SETALL(&quot;Autosize&quot;, .T.) ENDPROC

PROCEDURE QUERYUNLOAD CLEAR EVENTS ENDPROC

PROCEDURE ACTIVATE IF ISNULL(oTB) oTB = NEWOBJECT(&quot;MyToolbar&quot;) oTB.SHOW ENDIF ENDPROC ENDDEFINE

DEFINE CLASS MyToolbar AS TOOLBAR SHOWWINDOW = 1 ADD OBJECT ToolbarCommand1 AS COMMANDBUTTON WITH CAPTION = &quot;1&quot; ADD OBJECT ToolbarCommand2 AS COMMANDBUTTON WITH CAPTION = &quot;2&quot; ADD OBJECT ToolbarCommand3 AS COMMANDBUTTON WITH CAPTION = &quot;3&quot; ADD OBJECT ToolbarCommand4 AS COMMANDBUTTON WITH CAPTION = &quot;4&quot; ADD OBJECT ToolbarCommand5 AS COMMANDBUTTON WITH CAPTION = &quot;5&quot; PROCEDURE INIT THIS.SETALL(&quot;width&quot;, 26, &quot;Commandbutton&quot;) ENDPROC ENDDEFINE </li> Press the TAB key a few times to move between the TextBox, the EditBox, and the two OptionGroup controls.</li>  Observe the output in the Accessible Event Watcher window. Note that when the Optionbuttons have focus, the items on the toolbar will sometimes incorrectly appear as if they have focus. <pre class="fixed_text">OBJ_FOCUS   Name=&quot;FORMTEXT1&quot; Role=editable text State=focused,focusable OBJ_FOCUS   Name=&quot;FORMEDIT1&quot; Role=editable text State=focused,focusable OBJ_FOCUS   Name=&quot;Toolbarcommand2&quot; Role=push button State=focusable OBJ_FOCUS   Name=&quot;Toolbarcommand4&quot; Role=push button State=focusable If you repeat Step 4 after you close the toolbar, you receive the following results as expected: <pre class="fixed_text">OBJ_FOCUS   Name=&quot;FORMTEXT1&quot; Role=editable text State=focused,focusable OBJ_FOCUS   Name=&quot;FORMEDIT1&quot; Role=editable text State=focused,focusable OBJ_FOCUS   Name=&quot;Option1&quot; Role=radio button State=focused,focusable OBJ_FOCUS   Name=&quot;Option1&quot; Role=radio button State=focused,focusable </li></ol>

Keywords: kbbug kbfix kbvfp700sp1fix kbcodesnippet KB319002

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.