[Now Supported on Windows NT]
The DrawState function displays an image and applies a visual effect to indicate a state, such as a disabled or default state.
BOOL WINAPI DrawState(
HDC hdc, | // handle to device context |
HBRUSH hbr, | // handle to brush |
DRAWSTATEPROC lpOutputFunc, | // pointer to callback function |
LPARAM lData, | // image information |
WPARAM wData, | // more image information |
int x, | // horizontal location of image |
int y, | // vertical location of image |
int cx, | // width of image |
int cy, | // height of image |
UINT fuFlags | // image type and state |
); |
Parameters
hdc
Identifies the device context to draw in.
hbr
Identifies the brush used to draw the image, if the state specified by the fuFlags parameter is DSS_MONO. This parameter is ignored for other states.
lpOutputFunc
Points to an application-defined callback function used to render the image. This parameter is required if the image type in fuFlags is DST_COMPLEX. It is optional and can be NULL if the image type is DST_TEXT. For all other image types, this parameter is ignored. For more information about the callback function, see the DrawStateProc function.
lData
Specifies information about the image. The meaning of this parameter depends on the image type.
wData
Specifies information about the image. The meaning of this parameter depends on the image type. It is, however, zero extended for use with the DrawStateProc function.
x
Specifies the horizontal location at which to draw the image.
y
Specifies the vertical location at which to draw the image.
cx
Specifies the width of the image, in device units. This parameter is required if the image type is DST_COMPLEX. Otherwise, it can be zero to calculate the width of the image.
cy
Specifies the height of the image, in device units. This parameter is required if the image type is DST_COMPLEX. Otherwise, it can be zero to calculate the height of the image.
fuFlags
Specifies the image type and state. The type can be one of these values:
Value (type) | Meaning |
DST_BITMAP | The image is a bitmap. The low-order word of the lData parameter is the bitmap handle. |
DST_COMPLEX | The image is application defined. To render the image, DrawState calls the callback function specified by the lpOutputFunc parameter. |
DST_ICON | The image is an icon. The low-order word of lData is the icon handle. |
DST_PREFIXTEXT | The image is text that may contain an accelerator mnemonic. DrawState interprets the ampersand (&) prefix character as a directive to underscore the character that follows. The lData parameter specifies the address of the string, and the wData parameter specifies the length. If wData is zero, the string must be null-terminated. |
DST_TEXT | The image is text. The lData parameter specifies the address of the string, and the wData parameter specifies the length. If wData is zero, the string must be null-terminated. |
The state can be one of these values:
Value (state) | Meaning |
DSS_NORMAL | Draws the image without any modification. |
DSS_UNION | Dithers the image. |
DSS_DISABLED | Embosses the image. |
DSS_MONO | Draws the image using the brush specified by the hbr parameter. |
For all states except DSS_NORMAL, the image is converted to monochrome before the visual effect is applied.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
See Also