DrawState

DrawState

VB声明

Declare Function DrawState Lib "user32" Alias "DrawStateA" (ByVal hDC As Long, ByVal hBrush As Long, ByVal lpDrawStateProc As Long, ByVal lParam As Long, ByVal wParam As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal n3 As Long, ByVal n4 As Long, ByVal un As Long) As Long

说明

这个函数可为一幅图象或绘图操作应用各式各样的效果

返回值

Long,TRUE(非零)表示成功,FALSE表示失败

参数表

参数

类型及说明

hDC

Long,要在其中绘图的设备场景

hBrush

Long,如状态为DSS_MONO(在un参数中设定),则指定一个刷子句柄

lpDrawStateProc

Long,指向一个函数地址的指针。如图象类型为DST_COMPLEX,必须设置这个参数。对于DST_TEXT,则可设可不设

lParam

Long,由图象的类型决定

wParam

Long,由图象的类型决定

n1

Long,图象的水平位置

n2

Long,图象的垂直位置

n3

Long,图象的宽度。如图象类型为DST_COMPLEX,必须设置这个参数。而对于其他类型,则可以设为零。如为零,表示该参数在图象的基础上计算

n4

Long,图象的高度。如图象类型为DST_COMPLEX,必须设置这个参数。而对于其他类型,则可以设为零。如为零,表示该参数在图象的基础上计算

un

Long,图象类型和状态的一个组合。参见下表

图象类型

DST_BITMAP

lParam中的句柄

DST_COMPLEX

绘图在由lpDrawStateProc参数指定的回调函数期间执行。lParam和wParam会传递给回调事件

DST_ICON

lParam包括图标句柄

DST_TEXT

lParam代表文字的地址(可使用一个字串别名),wParam代表字串的长度

DST_PREFIXTEXT

与DST_TEXT类似,只是 & 字符指出为下各字符加上下划线

图象状态常数

DSS_NORMAL

普通图象

DSS_UNION

图象进行抖动处理

DSS_DISABLED

图象具有浮雕效果

DSS_MONO

用hBrush描绘图象

DSS_RIGHT

手册未正式说明——经实验证明没有什么作用(原文:Undocumented-experimentation seems to show no effect.)

注解

windows95用它获得我们应用于图象的一些视觉效果;例如,可使位图或其他图象在视觉上进入禁用或抖动状态。对于位图和图标,它在描绘位图或图标的时候应用一种效果。对于文本,既可让函数画出文本,也可在一个回调函数中执行自己的绘图操作。对于复杂的(用户自定义)图象,则必须用一个回调函数。在回调函数执行过程中,用自己的代码将自己希望的任何东西画入设备场景。在这之后,利用DrawState函数应用希望的效果

Top