FillRect

FillRect函数用指定的画刷填充矩形,此函数包括矩形的左上边界,但不包括矩形的右下边界。

int FillRect(HDC hdc, CONST RECT *lprc, HBRUSH hbr);

hdc:设备环境句柄。

lprc:指向含有将填充矩形的逻辑坐标的RECT结构的指针。

hbr:用来填充矩形的画刷的句柄。

如果函数调用成功,返回值非零;如果函数调用失败,返回值是0。

Windows NT:若想获得更多错误信息,请调用GetLastError函数。

由参数hbr定义的画刷可以是一个逻辑画刷句柄也可以是一个颜色值,如果指定一个逻辑画刷的句柄,调用下列函数之一来获得句柄;CreateHatchBrush、CreatePatternBrush或CreateSolidBrush。此外,你可以用GetStockObject来获得一个库存画刷句柄。如果指定一个颜色值,必须是标准系统颜色(所选择的颜色必须加1)如FillRect(hdc, &rect, (HBRUSH)(COLOR_ENDCOLORS+1)),参见GetSysColor可得到所有标准系统颜色列表。

当填充一个指定矩形时,FillRect不包括矩形的右、下边界。无论当前映射模式如何,GDI填充一个矩形都不包括右边的列和下面的行。

Windows CE:在Windows CE1.0版中,参数hbr不能是一个彩色画刷。在Windows CE2.0版中,此函数和Windows桌面平台上的相同。

速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

***************************************************************

//得到客户区域设备环境变数

CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC);

GetClientRect(&m_ClientRect); //得到客户区域矩形

if(m_Btntype == 0) //判断当前按钮类型是否为高级彩色按钮

{

switch(m_State)

{

case 0:

pDC->FillRect(&m_ClientRect,new CBrush(RGB(255,255,255)));

break;

case 1:

pDC->FillRect(&m_ClientRect,new CBrush(RGB(192,192,255)));

}

******************************************************************************************************************************************

HTML5

fillRect(x,y,width,height) : Draws a filled rectangle

X和Y用于指定矩形左上角也就是相对于原点的位置,width和height用于指定矩形的宽和高。