您的位置:首页 > 其它

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()

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: