ExtFloodFill功能使用当前画笔填充显示表面的一个区域。
BOOL ExtFloodFill(
HDC 【HDC】, | //处理设备上下文 |
INT 【nXStart】, | //填充开始时的x坐标 |
INT 【nYStart】, | // y坐标,填充开始 |
COLORREF 【crColor】, | // 填色 |
UINT 【fuFillType】 | //填写类型 |
); |
参数
【HDC】
标识设备上下文。
【nXStart】
指定填充开始点的逻辑x坐标。
【nYStart】
指定要开始填充的点的逻辑y坐标。
【crColor】
指定要填充的边界或区域的颜色。【crColor】的解释取决于【fuFillType】参数的值。
【fuFillType】
指定要执行的填充操作的类型。它必须是以下值之一:
值 | 含义 |
FLOODFILLBORDER | 填充区域由【crColor】参数指定的颜色限定。此风格与FloodFill功能执行的填充相同。 |
FLOODFILLSURFACE | 填充区域由【crColor】指定的颜色定义。只要遇到颜色,填充将向外延伸。这种风格对于填充具有多彩边框的区域很有用。 |
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
以下是此函数可能失败的一些原因:
*填写无法完成。
*指定点具有【crColor】参数指定的边界颜色(如果请求了FLOODFILLBORDER)。
*指定点不具有【crColor】指定的颜色(如果请求了FLOODFILLSURFACE)。
*该点在裁剪区域__之外,即在设备上不可见。
如果【fuFillType】参数是FLOODFILLBORDER,则Windows假定要填充的区域完全由【crColor】参数指定的颜色限定。该函数开始填充【nXStart】和【nYStart】参数指定的点,并在各个方向继续,直到到达边界。
如果【fuFillType】为FLOODFILLSURFACE,则Windows假定要填充的区域是单一颜色。该函数开始填充【nXStart】和【nYStart】指定的点,并在所有方向继续填充包含【crColor】指定颜色的所有相邻区域。
只有支持光栅显示操作的内存设备上下文和设备支持ExtFloodFill功能。要确定设备是否支持此技术,请使用GetDeviceCaps功能。
也可以看看