MFC重绘函数

转载 2015年07月07日 22:18:26
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()
}

相关文章推荐

MFC 控件重绘(2) NM_CUSTOMDRAW, WM_DRAWITEM, 虚函数DrawItem

控件重绘有三种方法: 1 设定界面属性 2 利用Windows的消息机制,通过Windows消息映射(Message Mapping)和反映射(Message Reflecting),在合适的时机...

VC的MFC中重绘函数的使用总结(整理)

VC的MFC中重绘函数的使用总结(整理) 在刷新窗口时经常要调用重绘函数 MFC提供了三个函数用于窗口重绘 InvalidateRect(&Rect) Invalidate() Up...

VC的MFC中重绘函数的使用总结(整理)

在刷新窗口时经常要调用重绘函数 MFC提供了三个函数用于窗口重绘 InvalidateRect(&Rect) Invalidate() UpdateWindow() 当需要更新或者重绘窗口时...

MFC之窗口控件更新重绘相关函数

MFC窗口重绘需要知道的几个函数。Invalidate, InvalidateRect, UpdateData, UpdateWindow等。...

MFC控件美化与重绘

  • 2017年06月14日 22:29
  • 24.12MB
  • 下载

MFC控件完全重绘从CWnd开始

导读: 我并不推荐采用自绘的方式去完成一些控件(比如CStatic,CButton,RadioBox,CheckBox等)的美化,而是推荐大家从CWnd入手,把这些基本控件完全重新绘制一遍(当然,有...

MFC树控件重绘

  • 2013年08月16日 11:19
  • 8.09MB
  • 下载

标题栏重绘 VC MFC

  • 2012年10月10日 21:33
  • 927KB
  • 下载

MFC控件完全重绘从CWnd开始

导读: 我并不推荐采用自绘的方式去完成一些控件(比如CStatic,CButton,RadioBox,CheckBox等)的美化,而是推荐大家从CWnd入手,把这些基本控件完全重新绘制一遍(当然,有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC重绘函数
举报原因:
原因补充:

(最多只允许输入30个字)