### 函数功能

该函数在限定的设备上下文窗口的客户区域绘制图标，执行限定的光栅操作，并按特定要求伸长或压缩图标或光标。

### 函数原型

B00L DrawlconEX（HDC hdc，int xLeft，int yTOp，HICON hlcon，int cxWidth，int cyWidth UINT isteplfAniCur,HBRUSH hbrFlickerFreeDraw,UINT diFlags）；

### 参数

hdc：窗口设备上下文的句柄。
xLeft：指定目标或光标左上角的逻辑x坐标。
yTop：指定图标或光标左上角的逻辑y坐标。
hlcon:被绘制图标的句柄，该参数可标识一个激活的光标。图标或光标资源必须已经通过Loadlmage函数被装载过。这参数能识别激活的光标。
cxWidth:指定图标或光标的逻辑宽度。如果其值为零且diFlags参数是DI_DEFAULTSIZE；函数使用SM_CXICON或_CXCURSOR系统公制值设置宽度；如果其值为零且不使用DI_DEFAULTSIZE，函数使用资源实际宽度。
cyWidth:指定图标或光标的逻辑高度。如果其值为零且diFlags参数是DI_DEFAULTSIZE，函数使用SM_CYICON或SM_CYCURSOR系统公制值设置高度；如果其值为零且不使用DI_DEFAULTSIZE，函数使用资源实际高isteplfAniCur:如果hlcon标识一个动态光标，参数指定要绘制的帧索引；如果hlcon不标识一个动态光标，该参数被忽略。
hbrFlickerFreeDraw:系统用做闪烁·自由绘图的刷子句柄。如果hbrFlickerFreeDraw是有效的刷子句柄,系统利用背景颜色刷于创建一个反屏位图将图标或光标绘制到位图中，并将位图复制到由hdc。标识的设备上下文中。
diFlags：指定绘图的标记，参数可为下列的值：
DI_COMPAT：系统采用缺省图像而不是用户定义的图像绘制图标和光标。
DI_DEFAULTSIZE：如果CXWidth和CyWidth参数被设为零，采用系统指定的图标和光标的的公制宽度和高 度绘制图标和光标；如果标记未被指定且cxWidth和cyWith参数设为零标，函数使用资源实际大小。
DI_IMAGE：用图像绘制目标或光标。DI_MASK：用屏蔽绘图图标或光标。
DL_NORMAL：DI_IMAGE 与DI_MASKR的组合。

### 返回值

如果函数成功，返回值是非零；如果函数失效返回值是零。想获得更多的错误信息请调用GetLastError函数。
备注：DrawlconEx。函数将图标的左上角置于由xLeft和yTop参数指定的位置，该位置受当前设备上下文的映射方式支配。
Windows CE：下列的参数设置必须被使用：
djFlags必须是DI_NORMAL，DI_IMAGE，或DI_MASK（不支持DI_COMPAT and DI_DEFAULTSIZE）。
cxWidth和cyHeight必须是零或图标的原始尺寸。hbrFlickerFreeDraw必须是NULL。
iSteplfAniCur必须是零，动态图标不被支援。Windows CE不支援：伸长的和压缩：也就是说该图标分辨率对给定的HICON是固定的，不支持国标大小的再调整。映射方式：用DrawlconEx绘制光标时，hlcon参数不能标识动态光标。

### 速查

Windows NT：31及以上版本；Windows：95及以上版本；Windows CE：1.0及以上版本；头文件：winuser.h；库文件：user32.lib。