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函数应用希望的效果 |