1、首先,为了下面使用擦除背景的方便,先增加OnEraseBkgnd函数(WM_ERASEBKGND ),但好多新手都不知道对话框在那里找增加这个函数,来跟我来

快捷键Ctrl+W打开ClassWizard对话框(菜单->view->ClassWizard):选择Class Info,找到左下角的Message filter,下拉列表至最底部,选中Window,OK保存

引用 VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数) - SeaBoy - SeaBoy

2、我们再Ctrl+W 打开ClassWizard对话框,MessageMaps->Class Name:选择当前工程对话框->Object IDs:选择当前对话框->Messages:下拉找吧,WM_ERASEBKGND有了吧,双击或者Add Function,添加到下面的Member functions后,再双击就可以编辑此函数代码了

引用 VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数) - SeaBoy - SeaBoy

3、当然除了以上的方法之外,如果对代码结构基本了解的话,还可以自己手动增加

a、工程的头文件中增加擦出背景函数定义

afx_msg BOOL OnEraseBkgnd(CDC *pDC); 

 

b、增加消息响应

BEGIN_MESSAGE_MAP(C******Dlg, CDialog)  // C******Dlg是你自己对话框的工程类
   ……
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()

 

c、工程源文件cpp中增加此函数的操作部分

BOOLCDisplayBmpBackGroundDlg::OnEraseBkgnd(CDC   *pDC)  

      //在这里你想增加那些对图片背景处理的东西就随便填吧guohaiyang.blog.163.com

      return TRUE;

}