Поделиться через


Функция GrayStringA (winuser.h)

Функция GrayString рисует серый текст в указанном расположении. Функция рисует текст путем копирования его в растровое изображение памяти, серого растрового изображения, а затем копирования растрового изображения на экран. Функция сереет текст независимо от выбранной кисти и фона. GrayString использует шрифт, выбранный в данный момент для указанного контекста устройства.

Если параметр thelpOutputFuncparameter NULL, GDI использует функцию TextOut, а функция thelpDataparameter считается указателем на строку символов для вывода. Если выходные данные не могут обрабатываться TextOut (например, строка хранится в виде растрового изображения), приложение должно предоставить собственную выходную функцию.

Синтаксис

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
);

Параметры

[in] hDC

Дескриптор контекста устройства.

[in] hBrush

Дескриптор кисти, который будет использоваться для серого цвета. Если этот параметр NULL, текст серый с той же кистью, которая использовалась для рисования текста окна.

[in] lpOutputFunc

Указатель на определяемую приложением функцию, которая будет рисовать строку или, если TextOut используется для рисования строки, это указатель NULL. Дополнительные сведения см. в функции обратного вызова OutputProc.

[in] lpData

Указатель на данные, передаваемые в выходную функцию. Если параметр lpOutputFuncNULL, lpData должен быть указателем на строку для вывода.

[in] nCount

Число выходных данных символов. Если параметр nCount равен нулю, GrayString вычисляет длину строки (если lpData является указателем на строку). Если nCount равно 1, а функция, на которую указывает lpOutputFunc возвращается FALSE, изображение отображается, но не серое.

[in] X

Координата устройства x начальной позиции прямоугольника, включающего строку.

[in] Y

Координата устройства y начальной позиции прямоугольника, включающего строку.

[in] nWidth

Ширина в единицах устройства прямоугольника, заключающая строку. Если этот параметр равен нулю, GrayString вычисляет ширину области, при условии, что lpData является указателем на строку.

[in] nHeight

Высота в единицах устройства прямоугольника, заключающего строку. Если этот параметр равен нулю, GrayString вычисляет высоту области, при условии, что lpData является указателем на строку.

Возвращаемое значение

Если строка рисуется, возвращаемое значение ненулевое.

Если функция textOut или определяемая приложением выходная функция возвращает ноль, или для создания растрового изображения памяти недостаточно, возвращаемое значение равно нулю.

Замечания

Без вызова GrayStringприложение может нарисовать серые строки на устройствах, поддерживающих сплошной серый цвет. Системный цвет COLOR_GRAYTEXT — это цвет сплошной серой системы, используемый для рисования отключенного текста. Приложение может вызвать функцию GetSysColor, чтобы получить значение цвета COLOR_GRAYTEXT. Если цвет отличается от нуля (черного), приложение может вызвать функцию SetTextColor, чтобы задать цвет текста значением цвета, а затем нарисовать строку напрямую. Если извлеченный цвет является черным, приложение должно вызывать GrayString серым текстом.

Заметка

Заголовок winuser.h определяет GrayString как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll

См. также

DrawText

GetSysColor

OutputProc

функции рисования и рисования

обзор рисования и рисования

SetTextColor

tabbedTextOut

TextOut