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

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

Если параметруlpOutputFuncparameter задано значение NULL, GDI использует функцию TextOut , а параметрlpDataparameter считается указателем на символьную строку, которая будет выводиться. Если выводимые символы не могут быть обработаны 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

Указатель на данные, передаваемые выходной функции. Если параметр lpOutputFunc имеет значение NULL, 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 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

Drawtext

GetSysColor

OutputProc

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

Общие сведения о рисовании и рисовании

SetTextColor

TabbedTextOut

TextOut