如何为对话框添加背景图片LoadBitmap
来源:优易学  2011-12-22 19:26:34   【优易学:中国教育考试门户网】   资料下载   IT书店
  关于为对话框添加背景图片LoadBitmap的问题:
  首先要为对话框添加消息映射,主要是:
  BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
  ON_WM_ERASEBKGND()//背景图片
  END_MESSAGE_MAP()
  然后在相关代码区域添加代码:
  //设置TOOLDLG的背景色,添加背景图片。[lei]
  BOOL CToolDlg::OnEraseBkgnd(CDC* pDC)
  {
  /*****************************************************
  要设置背景图片,必须去掉背景色,否则图片会被背景色覆盖。
  *****************************************************/
  /*
  //[lei]不使用背景图片时启用,否则失效。START
  //背景色
  BOOL retValue= CDialog::OnEraseBkgnd(pDC);
  CRect rc;
  GetClientRect(&rc);
  pDC->FillSolidRect(&rc,RGB(m_ToolRedVal,m_ToolGreenVal,m_ToolBlueVal));
  return retValue;
  //[lei]不使用背景图片时启用,否则失效。END
  */
  //背景图片
  //获得客户区尺寸
  CRect rect;
  GetClientRect(&rect);
  //加载背景位图
  CBitmap bitmap;
  bitmap.LoadBitmap(IDB_BITMAP_TOP_BG); //图片ID
  //创建内存DC
  CDC dc;
  dc.CreateCompatibleDC(pDC);
  //选择位图
  CBitmap* pOldBitmap=dc.SelectObject(&bitmap);
  //绘制位图
  pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
  //恢复原有位图
  dc.SelectObject(pOldBitmap);
  return TRUE;
  }

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训