Identifying Separate Screen Areas
Anything that is drawn using a single operation appears to a screen review utility as a single object. For that reason, a bitmap appears as one object, even though it might look like several distinct objects to the sighted user. An example is a custom control that looks like an array of buttons, but is really a single bitmapped image. A screen review utility describes the entire array as a single object, so the user has no way to manipulate the individual buttons.
In such cases, the application should use a tooltip control to identify each separate region. The tooltip control is one of the Windows common controls introduced in Windows 95. It identifies a region by displaying the textual label associated with it. It provides this information to the sighted user in a way that is consistent with the rest of the Windows interface.
If, for some reason, you cannot use tooltip controls, you can use the following two techniques to identify regions of the screen. However, both are less functional and less standardized than the tooltip approach:
- An application can draw each component object as a separate bitmap. Normally, this will not impact performance, memory, or disk space. Objects can be drawn to an off-screen bitmap and then copied to the screen in a single operation.
- An application can keep an array as a single bitmap, but identify the separate regions for a screen review utility using a tooltip control.
- An application can keep an array as a single bitmap, but identify the separate regions for a screen review utility by drawing shapes over the bitmap invisibly using a NOP raster operation. This technique is described in "Use of Bitmapped Text."
It is only necessary to perform these extra operations when screen review software is running. To determine whether one is running, call the SystemParametersInfo function with the SPI_GETSCREENREADER value.