Función DrawStateW (winuser.h)

La función DrawState muestra una imagen y aplica un efecto visual para indicar un estado, como un estado deshabilitado o predeterminado.

Sintaxis

BOOL DrawStateW(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

Parámetros

[in] hdc

Identificador del contexto del dispositivo en el que se va a dibujar.

[in] hbrFore

Identificador del pincel usado para dibujar la imagen, si el estado especificado por el parámetro fuFlags es DSS_MONO. Este parámetro se omite para otros estados.

[in] qfnCallBack

Puntero a una función de devolución de llamada definida por la aplicación que se usa para representar la imagen. Este parámetro es necesario si el tipo de imagen de fuFlags es DST_COMPLEX. Es opcional y puede ser NULL si el tipo de imagen es DST_TEXT. En el caso de los demás tipos de imagen, este parámetro se omite. Para obtener más información sobre la función de devolución de llamada, vea la función DrawStateProc .

[in] lData

Información sobre la imagen. El significado de este parámetro depende del tipo de imagen.

[in] wData

Información sobre la imagen. El significado de este parámetro depende del tipo de imagen. Sin embargo, es cero extendido para su uso con la función DrawStateProc .

[in] x

Ubicación horizontal, en unidades de dispositivo, en la que se va a dibujar la imagen.

[in] y

Ubicación vertical, en unidades de dispositivo, en la que se va a dibujar la imagen.

[in] cx

Ancho de la imagen, en unidades de dispositivo. Este parámetro es necesario si el tipo de imagen es DST_COMPLEX. De lo contrario, puede ser cero para calcular el ancho de la imagen.

[in] cy

Alto de la imagen, en unidades de dispositivo. Este parámetro es necesario si el tipo de imagen es DST_COMPLEX. De lo contrario, puede ser cero para calcular el alto de la imagen.

[in] uFlags

El tipo de imagen y el estado. Este parámetro puede ser uno de los siguientes valores de tipo.

Valor (tipo) Significado
DST_BITMAP
La imagen es un mapa de bits. El parámetro lData es el identificador de mapa de bits. Tenga en cuenta que el mapa de bits no se puede seleccionar ya en un contexto de dispositivo existente.
DST_COMPLEX
La imagen está definida por la aplicación. Para representar la imagen, DrawState llama a la función de devolución de llamada especificada por el parámetro lpOutputFunc .
DST_ICON
La imagen es un icono. El parámetro lData es el identificador de icono.
DST_PREFIXTEXT
La imagen es texto que puede contener un acelerador mnemónico. DrawState interpreta el carácter de prefijo y (&) como una directiva para resaltar el carácter siguiente. El parámetro lData es un puntero a la cadena y el parámetro wData especifica la longitud. Si wData es cero, la cadena debe terminar en null.
DST_TEXT
La imagen es texto. El parámetro lData es un puntero a la cadena y el parámetro wData especifica la longitud. Si wData es cero, la cadena debe terminar en null.
 

Este parámetro también puede ser uno de los siguientes valores de estado.

Valor (estado) Significado
DSS_DISABLED
Relieve de la imagen.
DSS_HIDEPREFIX
Omite el carácter de prefijo de y comercial (&) en el texto, por lo que la letra siguiente no se resaltará. Debe usarse con DST_PREFIXTEXT.
DSS_MONO
Dibuja la imagen utilizando el pincel especificado por el parámetro hbr .
DSS_NORMAL
Dibuja la imagen sin ninguna modificación.
DSS_PREFIXONLY
Dibuja solo el subrayado en la posición de la letra después del carácter de prefijo (&). No se dibuja texto en la cadena. Debe usarse con DST_PREFIXTEXT.
DSS_RIGHT
Alinea el texto a la derecha.
DSS_UNION
Dithers la imagen.
 

Para todos los estados excepto DSS_NORMAL, la imagen se convierte en monocromo antes de aplicar el efecto visual.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Comentarios

Nota

El encabezado winuser.h define DrawState como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluir Windows.h)
Library User32.lib
Archivo DLL User32.dll

Consulte también

DrawStateProc

Funciones de dibujo y dibujo

Información general sobre pintura y dibujo