MFC RoundRect、FillRect等函数如何设置颜色
RoundRect 颜色:
FillRect(FillSolidRect) 颜色:
CDC中FillRect与FillSolidRect的区别:
//定义一个画刷
CBrush Brush(RGB(0,0,0));
//用画刷填充矩形
pDC->FillRect (&rectEdit, &Brush);
FillRect(FillSolidRect) 颜色:
CPen mypen, *oldpen;
mypen.CreatePen(PS_SOLID, 1, m_clrFrame);
oldpen = pDC->SelectObject(&mypen);
CPoint point(7, 7);
pDC->RoundRect(rectEdit, point);
pDC->SelectObject(oldpen);
CDC中FillRect与FillSolidRect的区别:
在网上找FillRect与FillSolidRect的时候通常都会看到下面的一句话。
FillSolidRect与CDC::FillRect类似,FillSolidRect只能使用固体色(由COLORREF参数决定)。但FillRect带有画刷,因此可以为矩形填充固体色、抖动色、阴影或使用调色板。FillRect通常比FillSolidRect慢。
所以我在想那为什么还要用FillRect呀,全用FillSolidRect不就得了,但是悲剧发生了。
注意:调用FillSolidRect时,以前用SetBkColor设置的背景色,被设置为clr指定的颜色。
就是说你的背景色已经变成了FillSolidRect设置的颜色了。也许正常是看不出来的。但当以再用画笔画PS_DOT类的线时,你会发现你虚线原来的空白地方变成了FillSolidRect设置的颜色了。用FillSolidRect时一定要注意。
来自:http://blog.csdn.net/oliuzuoliang12/article/details/17604209
上一篇:MFC Static透明背景色的实现、Static控件自绘、Static字体修改
下一篇:MFC CEdit控件自绘、MFC圆角输入框