Compartilhar via


Função GrayStringA (winuser.h)

A função GrayString desenha texto cinza no local especificado. A função desenha o texto copiando-o em um bitmap de memória, esmaeçando o bitmap e copiando o bitmap para a tela. A função esmaeça o texto independentemente do pincel e da tela de fundo selecionados. GrayString usa a fonte selecionada no momento para o contexto do dispositivo especificado.

Se thelpOutputFuncparameter for NULL, a GDI usará a função TextOut e thelpDataparameter será considerado um ponteiro para a cadeia de caracteres a ser saída. Se os caracteres a serem saída não puderem ser tratados pelo TextOut (por exemplo, a cadeia de caracteres é armazenada como um bitmap), o aplicativo deve fornecer sua própria função de saída.

Sintaxe

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

Um identificador para o contexto do dispositivo.

[in] hBrush

Um identificador para o pincel a ser usado para cinza. Se esse parâmetro for NULL, o texto será esmaecido com o mesmo pincel usado para desenhar o texto da janela.

[in] lpOutputFunc

Um ponteiro para a função definida pelo aplicativo que desenhará a cadeia de caracteres ou, se TextOut for usado para desenhar a cadeia de caracteres, será um ponteiro NULL . Para obter detalhes, consulte a função de retorno de chamada OutputProc .

[in] lpData

Um ponteiro para os dados a serem passados para a função de saída. Se o parâmetro lpOutputFunc for NULL, lpData deverá ser um ponteiro para a cadeia de caracteres a ser saída.

[in] nCount

O número de caracteres a serem gerados. Se o parâmetro nCount for zero, GrayString calculará o comprimento da cadeia de caracteres (supondo que lpData seja um ponteiro para a cadeia de caracteres). Se nCount for 1 e a função apontada por lpOutputFunc retornar FALSE, a imagem será mostrada, mas não esmaeçada.

[in] X

A coordenada x do dispositivo da posição inicial do retângulo que inclui a cadeia de caracteres.

[in] Y

A coordenada y do dispositivo da posição inicial do retângulo que inclui a cadeia de caracteres.

[in] nWidth

A largura, em unidades de dispositivo, do retângulo que inclui a cadeia de caracteres. Se esse parâmetro for zero, GrayString calculará a largura da área, supondo que lpData seja um ponteiro para a cadeia de caracteres.

[in] nHeight

A altura, em unidades de dispositivo, do retângulo que inclui a cadeia de caracteres. Se esse parâmetro for zero, GrayString calculará a altura da área, supondo que lpData seja um ponteiro para a cadeia de caracteres.

Retornar valor

Se a cadeia de caracteres for desenhada, o valor retornado será diferente de zero.

Se a função TextOut ou a função de saída definida pelo aplicativo retornarem zero ou não houver memória suficiente para criar um bitmap de memória para esmaecemento, o valor retornado será zero.

Comentários

Sem chamar GrayString, um aplicativo pode desenhar cadeias de caracteres esmaecedas em dispositivos que dão suporte a uma cor cinza sólida. A cor do sistema COLOR_GRAYTEXT é a cor do sistema cinza-sólido usada para desenhar texto desabilitado. O aplicativo pode chamar a função GetSysColor para recuperar o valor de cor de COLOR_GRAYTEXT. Se a cor for diferente de zero (preto), o aplicativo poderá chamar a função SetTextColor para definir a cor do texto com o valor de cor e, em seguida, desenhar a cadeia de caracteres diretamente. Se a cor recuperada for preta, o aplicativo deverá chamar GrayString para esmaeçar o texto.

Observação

O cabeçalho winuser.h define GrayString como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Drawtext

Getsyscolor

OutputProc

Funções de pintura e desenho

Visão geral de pintura e desenho

Settextcolor

TabbedTextOut

Textout