MFC-FillRect绘制并填充矩形

发布时间 2023-04-10 17:30:49作者: 天子骄龙

 

    HDC hdc = ::GetDC(m_hWnd);
    
    RECT rect = { 10,10,50,100 };
    HBRUSH hbr;
    hbr = CreateSolidBrush(RGB(255, 0, 0)); 
    SelectObject(hdc, hbr);

    int f= FillRect(hdc, &rect, hbr);//绘制并填充矩形
    /*
    用指定的画刷填充矩形,此函数包括矩形的左上边界,但不包括矩形的右下边界
    参数1:HDC hdc  设备环境句柄
    参数2:CONST RECT *lprc  指向含有将填充矩形的逻辑坐标的RECT结构的指针
    参数3:HBRUSH hbr 画刷的句柄
    返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是0
    
    由参数hbr定义的画刷可以是一个逻辑画刷句柄也可以是一个颜色值,
    如果指定一个逻辑画刷的句柄,调用下列函数之一来获得句柄;CreateHatchBrush、CreatePatternBrush或CreateSolidBrush。
    此外,你可以用GetStockObject来获得一个库存画刷句柄。
    如果指定一个颜色值,必须是标准系统颜色(所选择的颜色必须加1)如FillRect(hdc, &rect, (HBRUSH)(COLOR_ENDCOLORS+1)),参见GetSysColor可得到所有标准系统颜色列表
    */

    DeleteObject(hbr);
    ::ReleaseDC(m_hWnd, hdc);