为窗口添加消息WM_ERASEBKGND的处理函数
VC6.0
1、
a.首先,为了下面使用擦除背景的方便,先增加OnEraseBkgnd函数(WM_ERASEBKGND)
按快捷键Ctrl+W打开ClassWizard对话框(或菜单->view->ClassWizard):选择Class Info,找到左下角的Messagefilter,下拉列表至最底部,选中Window,OK保存;
b.我们再Ctrl+W 打开ClassWizard对话框,MessageMaps->ClassName:选择当前工程对话框->ObjectIDs:选择当前对话框->Messages:下拉找吧,WM_ERASEBKGND有了吧,双击或者AddFunction,添加到下面的Member functions后,再双击就可以编辑此函数代码了;
2、当然除了以上的方法之外,如果对代码结构基本了解的话,还可以自己手动增加:
a、工程的头文件中增加擦出背景函数定义
afx_msg BOOL OnEraseBkgnd(CDC *pDC);
b、增加消息响应
BEGIN_MESSAGE_MAP(C******Dlg, CDialog)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
c、工程源文件cpp中增加此函数的操作部分
BOOLCDisplayBmpBackGroundDlg
{
}
VS2008:
1.在‘资源视图’,打开一个窗口,点击窗口空白处。
2.在右边的属性管理器中选择消息页,会显示出所有可添加消息,找到WM_ERASEBKGND,点击旁边的下拉框,就会看到添加OnERASEBKGND项,点击即可成功添加WM_ERASEBKGND的处理函数
BOOL CRTSPSampleDlg::OnEraseBkgnd(CDC* pDC)
{
}
注:VS2008手动添加消息处理函数的方法与VC6类似。