VC++窗体背景颜色渐变
来源:互联网 发布:神机妙算套价软件 编辑:程序博客网 时间:2024/05/23 14:24
新建MFC工程
修改View类的OnDraw方法
通过以上方法产生了一个从左向右的渐变的窗体
Remarks:
通过拖拽窗体大小,发现闪烁厉害,以上方法不能解决闪烁问题
对策:给View类添加Add Windows Message handle
增加:WM_ERASEBKGND
闪烁问题解决了! ^_^
修改View类的OnDraw方法
void CJBView::OnDraw(CDC* pDC)
{
CJBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rect;
GetClientRect(&rect);
CDC dcBAK;
CBitmap map;
dcBAK.CreateCompatibleDC(pDC);
map.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
CBitmap*poldbmp=dcBAK.SelectObject(&map);
int r1=128,g1=200,b1=200;
int r2=100, g2=55, b2=165;
for(int i=0;i<rect.Width();i++){
int r,g,b;
r = r1 + (i * (r2-r1) / rect.Width());
g = g1 + (i * (g2-g1) / rect.Width());
b = b1 + (i * (b2-b1) / rect.Width());
dcBAK.FillSolidRect(i,0,1,rect.Height(),RGB(r,g,b));
}
//----------绘画
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcBAK,0,0,SRCCOPY);
dcBAK.SelectObject(poldbmp);
}
{
CJBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rect;
GetClientRect(&rect);
CDC dcBAK;
CBitmap map;
dcBAK.CreateCompatibleDC(pDC);
map.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
CBitmap*poldbmp=dcBAK.SelectObject(&map);
int r1=128,g1=200,b1=200;
int r2=100, g2=55, b2=165;
for(int i=0;i<rect.Width();i++){
int r,g,b;
r = r1 + (i * (r2-r1) / rect.Width());
g = g1 + (i * (g2-g1) / rect.Width());
b = b1 + (i * (b2-b1) / rect.Width());
dcBAK.FillSolidRect(i,0,1,rect.Height(),RGB(r,g,b));
}
//----------绘画
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcBAK,0,0,SRCCOPY);
dcBAK.SelectObject(poldbmp);
}
通过以上方法产生了一个从左向右的渐变的窗体
Remarks:
通过拖拽窗体大小,发现闪烁厉害,以上方法不能解决闪烁问题
对策:给View类添加Add Windows Message handle
增加:WM_ERASEBKGND
BOOL CJBView::OnEraseBkgnd(CDC* pDC)
{
return 1;
}
{
return 1;
}
闪烁问题解决了! ^_^
- VC++窗体背景颜色渐变
- VC++窗体背景颜色渐变 .
- 渐变色背景窗体
- VC 实现视图区背景颜色渐变填充
- android背景颜色渐变
- css3 颜色 背景 渐变
- 背景颜色渐变 css3
- 背景实现颜色渐变
- android背景颜色渐变
- CSS3 背景颜色渐变
- css背景颜色渐变
- CSS背景颜色渐变
- CSS背景颜色渐变
- 背景颜色的渐变
- 背景颜色渐变动态
- CSS3背景颜色渐变
- td背景颜色渐变
- VC 修改窗体背景颜色最简单有效的方法
- NiosII软处理器快速入门- 10分钟学会NiosII
- IP*Works! V6 for VS2003
- 转:Internet Explorer 6中的CSS增强功能
- 正确进食顺序
- C#开发WAP程序
- VC++窗体背景颜色渐变
- IP*Works! S/Shell V7 for VS2003
- 手动扩充FreeTextBox的功能
- 30句职场箴言
- JAVA学习之道
- ASP.NET程序中常用的三十三种代码
- C#写的UBB代码类
- C#生成Excel文件的方法
- 在sdk中使用进度条