勇芳软件工作室.汉化:  Painting and Drawing > Painting and Drawing Functions >

GrayString

Previous pageReturn to chapter overviewNext page

描述

 

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)