MFC 重绘函数
2015-06-25 16:27
197 查看
void CDialogDiagnose::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
CDC MemDC;
MemDC.CreateCompatibleDC (&dc);
CBitmap *pOldBmp;
pOldBmp = MemDC.SelectObject (&m_bmpToolbar);
CRect rect;
GetClientRect(rect);
dc.StretchBlt(0,0,rect.Width() ,m_nToolBarHeight,&MemDC,0,0,m_nToolBarWidth,m_nToolBarHeight,SRCCOPY);
if(m_nNotDiagnosed>0 || m_nFailed>0)
{
MemDC.SelectObject (&m_bmpUnfinish);
}
else
{
MemDC.SelectObject (&m_bmpGoodDiagnose);
}
//MemDC.SelectObject (&m_bmpUnfinish);
//dc.StretchBlt(10,10,m_nGoodDiagnoseBmpWidth ,m_nGoodDiagnoseBmpHeight,&MemDC,0,0,m_nGoodDiagnoseBmpWidth,m_nGoodDiagnoseBmpHeight,SRCCOPY);
TransparentBlt(dc.m_hDC,10,10,m_nGoodDiagnoseBmpWidth ,m_nGoodDiagnoseBmpHeight,MemDC.m_hDC,0,0,m_nGoodDiagnoseBmpWidth,m_nGoodDiagnoseBmpHeight,RGB(255,255,255));
MemDC.SelectObject(pOldBmp);
MemDC.DeleteDC();
// 不为绘图消息调用 CDialog::OnPaint()
}
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
CDC MemDC;
MemDC.CreateCompatibleDC (&dc);
CBitmap *pOldBmp;
pOldBmp = MemDC.SelectObject (&m_bmpToolbar);
CRect rect;
GetClientRect(rect);
dc.StretchBlt(0,0,rect.Width() ,m_nToolBarHeight,&MemDC,0,0,m_nToolBarWidth,m_nToolBarHeight,SRCCOPY);
if(m_nNotDiagnosed>0 || m_nFailed>0)
{
MemDC.SelectObject (&m_bmpUnfinish);
}
else
{
MemDC.SelectObject (&m_bmpGoodDiagnose);
}
//MemDC.SelectObject (&m_bmpUnfinish);
//dc.StretchBlt(10,10,m_nGoodDiagnoseBmpWidth ,m_nGoodDiagnoseBmpHeight,&MemDC,0,0,m_nGoodDiagnoseBmpWidth,m_nGoodDiagnoseBmpHeight,SRCCOPY);
TransparentBlt(dc.m_hDC,10,10,m_nGoodDiagnoseBmpWidth ,m_nGoodDiagnoseBmpHeight,MemDC.m_hDC,0,0,m_nGoodDiagnoseBmpWidth,m_nGoodDiagnoseBmpHeight,RGB(255,255,255));
MemDC.SelectObject(pOldBmp);
MemDC.DeleteDC();
// 不为绘图消息调用 CDialog::OnPaint()
}
相关文章推荐
- NGINX引入线程池 性能提升9倍
- Python 多线程 鸡肋也很好吃
- 关于webservice的问题
- 利用eclipse(MyEclipse)快速生成set、get方法的方法
- Java合并两个有序序列算法实现
- JVM工作原理和特点(一些二逼的逼神面试官会问的问题)
- ffmpeg aac编码器比较
- gdb调试
- ubuntu12.04 解压jar包到指定目录
- 并行程序设计---cuda memory
- js返回上一页并刷新的多种实现方法
- INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES错误解决方法
- nginx php-fpm安装配置
- OpenGL 第一个三角形
- win7下PL/SQL Developer的安装
- 关于oracle数据库的一些基本操作
- Eclipse web工程 部署 三种方式 1
- token in rails
- 新开项目只保留3.5寸的原因
- 判断输入是数字还是字符串