17.3.3 编码实现图像作为对话框的背景图像

2013-10-07 14:39:06 · 作者: · 浏览: 58

17.3.3  编码实现图像作为对话框的背景图像

将桌面效果的图像设置为对话框的背景图像。首先为对话框类添加两个变量,一个是位图变量,另一个是画刷变量:

  1. CBitmap m_bmBack;  
  2. CBrush m_brBack;  

然后在对话框的初始化函数中,用位图变量载入桌面效果的位图资源,并用这个位图变量初始化这个画刷变量。
  1. m_bmBack.DeleteObject();  
  2. m_brBack.DeleteObject();  
  3. m_bmBack.LoadBitmap(IDB_BK001);  
  4. m_brBack.CreatePatternBrush(&m_bmBack);  

最后重载对话框类的OnCtlColor()函数,实现改变对话框背景图像的功能。
  1. 01  HBRUSH CMyAlbumDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)   
  2. 02  {  
  3. 03      HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);  
  4. 04      if(nCtlColor == CTLCOLOR_DLG)       //绘制对话框背景  
  5. 05          return m_brBack;  
  6. 06      return hbr;  
  7. 07  }