Функция GrayString

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

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

Синтаксис

BOOL GrayString(
  HDC hDC,                      // дескриптор DC
  HBRUSH hBrush,                // дескриптор кисти
  GRAYSTRINGPROC lpOutputFunc,  // функция обратного вызова
  LPARAM lpData,                // определяемые программой данные
  int nCount,                   // число символов
  int X,                        // горизонтальная позиция
  int Y,                        // вертикальная позиция
  int nWidth,                   // ширина
  int nHeight                   // высота
);

 

Параметры

hDC

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

hBrush

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

lpOutputFunc

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

lpData

[in] Определяет указатель на данные, которые передаются в функцию вывода данных. Если параметр lpOutputFunc - NULL, то параметр lpData должен быть указателем на строку, которая будет выводится.

nCount

[in] Определяет число символов, которые будут выводиться. Если параметр nCount - нуль, функция GrayString вычисляет длину строки (при условии, что lpData - указатель на строку). Если nCount равен 1, а функция, указанная при помощи параметра lpOutputFunc, возвращает FALSE, изображение выводится на экран, но оно недоступно.

X

[in] Устанавливает x координату устройства в стартовой позиции прямоугольника, который включает в себя строку.

Y

[in] Устанавливает y координату устройства в стартовой позиции прямоугольника, который включает в себя строку.

nWidth

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

nHeight

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

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

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

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

Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Замечания

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

Windows 95/98/Me: GrayStringW поддерживается программой Microsoft Layer for Unicode (MSLU). Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.

Смотри также

Обзор Окрашивание и рисование, Функции окрашивания и рисования, DrawText, GetSysColor, OutputProc, SetTextColor, TabbedTextOut, TextOut

Размещение и совместимость GrayString

К Windows Vista Да
л Windows XP Да
и Windows 2000 Professional Да
е Windows NT Workstation Да версии 3.1
н Windows Me Да
т Windows 98 Да
  Windows 95 Да
С Windows Server 2008 Да
е Windows Server 2003 Да
р Windows 2000 Server Да
в Windows NT Server Да версии 3.1
е
р
Используемая библиотека User32.lib
Используемая DLL -
Заголовочный файл
- объявлено в Winuser.h
- включено в Windows.h
Unicode Реализуется как версии Unicode и ANSI в среде Windows NT/2000/XP. Также поддерживается программой Microsoft Layer для Unicode.
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz