VC++窗体背景颜色渐变 .
来源:互联网 发布:淘宝店铺怎样上传视频 编辑:程序博客网 时间:2024/06/11 15:47
新建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 修改窗体背景颜色最简单有效的方法
- VC 修改窗体背景颜色最简单有效的方法
- rman-20207
- JDK,JRE,JVM区别
- mmap直接操作底层,相当于驱动
- STM32 ----小谈FSMC RS选
- VC++窗体背景颜色渐变 .
- IShellFolder基础概念介绍
- iso开发API中各符号的含义
- 用数组实现线性表
- jquery捕捉回车键及jquery异步请求的方法
- JS原型模式的优势
- 专家:民用轻小型无人机低空航测达国际领先水平
- 身份证校验码算法及其实现方法
- 【字典树】 hdu1671 Phone List