当前位置:C++技术网 > 资讯 > MFC窗口背景斜向渐变绘制

MFC窗口背景斜向渐变绘制

更新时间:2015-06-23 20:25:46浏览次数:1+次

    在OnEraseBkgnd中放置如下代码即可实现背景渐变色。此函数是WM_ERASEBKGND消息的响应函数。1是水平和垂直的渐变,只要注释其中一个即可,另一个不注释。2则与1独立,因为斜向渐变采用的是划线,垂直和水平是画矩形,因此不一样。最后一定要返回TRUE,不让系统再重画背景,否则你所有工作白费了。

//斜向渐变
CRect rect;
	GetClientRect(&rect);
	int height = rect.bottom;
	int width = rect.right;
CPen* pPen[255]={0};
for (int i=0;i<255;i++)
pPen[i] = new CPen(PS_SOLID,1,RGB(20,200,i));

for (int x=0;x<(width+height);x++)
{
    pDC->SelectObject(pPen[255*x/(width+height)]);
    pDC->MoveTo(x,0);
    pDC->LineTo(0,x);
}
for (int i=0;i<255;i++)
delete pPen[i];

    横向和纵向的渐变,可以在本站搜索到,就不在此处重复列出。