请问怎么在对话框里设置背景图片,我上网搜索了之后,发现有这种做法:
重载WM_ERASEBKGND消息映射函数OnEraseBkgnd(CDC* pDC)
BOOL CMPlayerDlg::OnEraseBkgnd(CDC* pDC) 
{
CDC memDC;
CBitmap MPlayer;
if(!MPlayer.LoadBitmap(IDB_MPLAYER)) 
return FALSE;
memDC.CreateCompatibleDC(pDC);
CBitmap *pOldBmp=memDC.SelectObject(&MPlayer);
pDC->BitBlt(0,0,MPLAYERWIDTH,MPLAYEREXT,&memDC,0,0,SRCCOPY);
memDC.SelectObject(pOldBmp);
return TRUE;
}
可是我只能在单文档里实现,没办法在对话框里实现,因为找不到WM_ERASEBKGND消息.
请问有没有更好的办法能够在对话框里设置背景图片?

解决方案 »

  1.   

    同样可以用这个消息,加上这个函数到你的对话框类,然后加上一个宏到message map里面
    ON_WM_ERASEBKGND
      

  2.   

    1: 手动加消息映射
    2: 在那个添加消息向导里,右下角消息过滤时选择(Window) (VC6)
      

  3.   

    单击对话框右键->Events->右下角选择"Window"或"ChildWindow"找到ON_WM_ERASEBKGND,然后“Add and Edit",确定。再右键单击对话框,用ClassWizard加上你的代码即可。
      

  4.   

    按照Stefine的说法已经弄好了,谢谢!