Функция 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 // высота );
|
[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. | |
Замечания по платформе | Не имеется |