Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.
This function, added in Service Pack 4 for VFP 6 and enhanced in VFP 7, changes the way VFP interacts with Active Accessibility.
cAAStatus = SYS( 2800 [, nAAFlag ] )
Parameter |
Value |
Meaning |
nAAFlag |
Omitted |
The function returns the current status. |
Numeric |
The current status is changed and the new status returned. Potential values are described in the table, below. |
|
cAAStatus |
Character |
The current Active Accessibility status. See the potential values for nAAFlag for its interpretation. |
Active Accessibility is the Windows way of ensuring that applications can work with accessibility aids, such as the Magnifier and Narrator that come with Windows 2000 (and some other Windows versions). Such tools need ways to identify controls and forms so they can be magnified or read aloud (or whatever else the particular tool does).
Active Accessibility wasn’t supported in older versions of Visual FoxPro and, as a result, the older versions don’t play very well with accessibility aids. Fortunately, that situation has been remedied, starting in VFP 6 SP 4.
SYS(2800) determines the way the VFP interacts with Active Accessibility. The parameter is an additive flag, based on the following values:
Value |
Meaning |
0 |
Disable Active Accessibility. |
1 |
Enables the WM_GETOBJECT message for Active Accessibility to get information about an object. |
2 |
Enables the NotifyWinEvent function to tell Active Accessibility to respond to events. |
4 |
Tells Active Accessibility to wait until VFP has finished processing certain requests before returning control to the client program (most likely, an accessibility aid). |
16 |
Tells Active Accessibility to put the Name of a control into the accName property rather than its caption. |
32 |
Creates a fake caret that can be used by accessibility clients to determine the current location. Not recommended in VFP 7 and later. |
The default value for the function is 3 (1+2). For most applications, that should be all you need to serve users with disabilities.
Disabling Active Accessibility (that is, passing 0 to the function) means making VFP’s controls invisible to it. VFP itself and its forms remain visible.
Testing the more advanced settings here requires a fairly deep understanding of Active Accessibility and its interaction with accessibility aids. We don’t have that understanding yet. One thing we are sure of, though: unless you do have that level of knowledge, don’t mess with this one.
If you want to ensure that users with disabilities can use your applications, spend some time on Microsoft’s accessibility site (www.microsoft.com/enable, as of this writing) to get an understanding of what kinds of issues can arise. Then, test your applications with various settings of the accessibility tools that come with Windows, especially Magnifier, Narrator and the On-Screen Keyboard. For more exhaustive testing, you may also want to invest in some third-party accessibility tools and test with those. It’s in using such tools that you may run into the need to use this function and change the default settings.
* Turn off Active Accessibility
SYS(2800, 0)