描述
GrayString函数在指定位置绘制灰色文本。该函数通过将文本复制到内存位图中,使位图变灰,然后将位图复制到屏幕上来绘制文本。无论选定的画笔和背景如何,该函数都会灰化文本。GrayString使用当前为指定的设备上下文选择的字体。
如果lpOutputFuncparameter为NULL,则GDI使用TextOut函数,并假设lpDataparameter是要输出的字符串的指针。如果要输出的字符不能由TextOut处理(例如,字符串作为位图存储),应用程序必须提供自己的输出功能。
C++ 语法
BOOL GrayString( __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 ); |
PowerBASIC 语法
FUNCTION GrayStringA ( _ BYVAL hDC AS DWORD, _ BYVAL hBrush AS DWORD, _ BYVAL lpOutputFunc AS DWORD, _ BYVAL lpData AS LONG, _ BYVAL nCount AS LONG, _ BYVAL X AS LONG, _ BYVAL Y AS LONG, _ BYVAL nWidth AS LONG, _ BYVAL nHeight AS LONG _ ) AS LONG |
Unicode版本:
FUNCTION GrayStringW ( _ BYVAL hDC AS DWORD, _ BYVAL hBrush AS DWORD, _ BYVAL lpOutputFunc AS DWORD, _ BYVAL lpData AS LONG, _ BYVAL nCount AS LONG, _ BYVAL X AS LONG, _ BYVAL Y AS LONG, _ BYVAL nWidth AS LONG, _ BYVAL nHeight AS LONG _ ) AS LONG |
参数
hDC
[in]处理设备上下文。
hBrush
[in]处理笔刷以用于变灰。如果此参数为NULL,则文本将与用于绘制窗口文本的相同画笔呈灰色。
lpOutputFunc
[in]指向要绘制字符串的应用程序定义函数的指针,或者如果要使用TextOut来绘制字符串,则它是一个NULL指针。有关详细信息,请参阅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函数或应用程序定义的输出函数返回零,或者没有足够的内存创建内存位图进行灰色,则返回值为零。
备注
不调用GrayString,应用程序可以在支持实体灰色的设备上绘制灰色字符串。系统颜色COLOR_GRAYTEXT是用于绘制禁用文本的纯灰色系统颜色。应用程序可以调用GetSysColor函数来检索COLOR_GRAYTEXT的颜色值。如果颜色不是零(黑色),应用程序可以调用SetTextColor函数将文本颜色设置为颜色值,然后直接绘制字符串。如果检索到的颜色为黑色,则应用程序必须调用GrayString来灰化文本。
Windows 95/98 / Me:Microsoft Layer for Unicode支持DrawStateW.
引用文件 #INCLUDE Once
WinUser.inc(包括Windows.inc)


