DrawState

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
Handle to the device context to draw in.
hbr
Handle to 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
Pointer 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.
DSS_RIGHT Aligns the text to the right.

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.

Windows NT: To get extended error information, call GetLastError.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Painting and Drawing Overview, Painting and Drawing Functions, DrawStateProc