Compartir a través de


Función GrayStringA (winuser.h)

La función GrayString dibuja texto gris en la ubicación especificada. La función dibuja el texto copiándolo en un mapa de bits de memoria, atenuando el mapa de bits y copiando el mapa de bits en la pantalla. La función grisiza el texto independientemente del pincel y el fondo seleccionados. GrayString usa la fuente seleccionada actualmente para el contexto de dispositivo especificado.

Si thelpOutputFuncparameter es NULL, GDI usa la función TextOut y se supone que thelpDataparameter es un puntero a la cadena de caracteres que se va a generar. Si textOut no puede controlar los caracteres que se van a generar (por ejemplo, la cadena se almacena como un mapa de bits), la aplicación debe proporcionar su propia función de salida.

Sintaxis

BOOL GrayStringA(
  [in] HDC            hDC,
  [in] HBRUSH         hBrush,
  [in] GRAYSTRINGPROC lpOutputFunc,
  [in] LPARAM         lpData,
  [in] int            nCount,
  [in] int            X,
  [in] int            Y,
  [in] int            nWidth,
  [in] int            nHeight
);

Parámetros

[in] hDC

Identificador del contexto del dispositivo.

[in] hBrush

Identificador del pincel que se va a usar para atenuar. Si este parámetro es NULL, el texto aparece atenuado con el mismo pincel que se usó para dibujar el texto de la ventana.

[in] lpOutputFunc

Puntero a la función definida por la aplicación que dibujará la cadena o, si TextOut se va a usar para dibujar la cadena, es un puntero NULL . Para más información, consulte la función de devolución de llamada OutputProc .

[in] lpData

Puntero a los datos que se van a pasar a la función de salida. Si el parámetro lpOutputFunc es NULL, lpData debe ser un puntero a la cadena que se va a generar.

[in] nCount

Número de caracteres que se van a generar. Si el parámetro nCount es cero, GrayString calcula la longitud de la cadena (suponiendo que lpData es un puntero a la cadena). Si nCount es 1 y la función a la que apunta lpOutputFunc devuelve FALSE, la imagen se muestra pero no está atenuada.

[in] X

Coordenada x del dispositivo de la posición inicial del rectángulo que incluye la cadena.

[in] Y

Coordenada y del dispositivo de la posición inicial del rectángulo que incluye la cadena.

[in] nWidth

Ancho, en unidades de dispositivo, del rectángulo que incluye la cadena. Si este parámetro es cero, GrayString calcula el ancho del área, suponiendo que lpData es un puntero a la cadena.

[in] nHeight

Alto, en unidades de dispositivo, del rectángulo que incluye la cadena. Si este parámetro es cero, GrayString calcula el alto del área, suponiendo que lpData es un puntero a la cadena.

Valor devuelto

Si se dibuja la cadena, el valor devuelto es distinto de cero.

Si la función TextOut o la función de salida definida por la aplicación devolvieron cero, o si no había memoria suficiente para crear un mapa de bits de memoria para atenuar, el valor devuelto es cero.

Comentarios

Sin llamar a GrayString, una aplicación puede dibujar cadenas atenuadas en los dispositivos que admiten un color gris sólido. El color del sistema COLOR_GRAYTEXT es el color del sistema de color gris sólido que se usa para dibujar texto deshabilitado. La aplicación puede llamar a la función GetSysColor para recuperar el valor de color de COLOR_GRAYTEXT. Si el color es distinto de cero (negro), la aplicación puede llamar a la función SetTextColor para establecer el color de texto en el valor de color y, a continuación, dibujar la cadena directamente. Si el color recuperado es negro, la aplicación debe llamar a GrayString para grisar el texto.

Nota

El encabezado winuser.h define GrayString 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

Drawtext

GetSysColor

OutputProc

Funciones de dibujo y dibujo

Información general sobre pintura y dibujo

SetTextColor

TabbedTextOut

TextOut