CDC之FillSolidRect

来源:互联网 发布:市妇科医院网络咨询 编辑:程序博客网 时间:2024/04/30 00:45

mfc里有个FillSolidRect,却没有FillRect,此函数的实现如下:

void CDC::FillSolidRect(int x, int y, int cx, int cy, COLORREF clr)
{
 ASSERT_VALID(this);
 ASSERT(m_hDC != NULL);

 ::SetBkColor(m_hDC, clr);
 CRect rect(x, y, x + cx, y + cy);
 ::ExtTextOut(m_hDC, 0, 0, ETO_OPAQUE, &rect, NULL, 0, NULL);
}
我想原因是:由于FillRect需要创建HBRUSH,使用完后再Delete掉,有些麻烦,而上面的实现达到了同样的效果,调用起来更简单。