如何在VC中添加消息处理函数

为窗口添加消息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)  //C******Dlg是你自己对话框的工程类

   ……

ON_WM_ERASEBKGND()

END_MESSAGE_MAP()

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

BOOLCDisplayBmpBackGroundDlg::OnEraseBkgnd(CDC  *pDC) 

{

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

     return TRUE;

}

 

VS2008:

1.在‘资源视图’,打开一个窗口,点击窗口空白处。

2.在右边的属性管理器中选择消息页,会显示出所有可添加消息,找到WM_ERASEBKGND,点击旁边的下拉框,就会看到添加OnERASEBKGND项,点击即可成功添加WM_ERASEBKGND的处理函数

BOOL CRTSPSampleDlg::OnEraseBkgnd(CDC* pDC)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值

 return CDialog::OnEraseBkgnd(pDC);
}
注:VS2008手动添加消息处理函数的方法与VC6类似。


来自东子的博客



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值