码迷,mamicode.com
首页 > 其他好文 > 详细

孙鑫视频改变窗口过程函数中出现error C2440错误的解决方法

时间:2016-04-06 11:00:23      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

在Visual Studio 2010中,即使代码是完完全全按照孙鑫视频中的敲,也会在出现error C2440,这是因为开发平台由VC6.0升级至VS2010,需要将原有的项目迁移。VS2010对消息的检查更为严格,以前在VC6.0下完全正常运行的消息映射在VS2010下编译不通过。

 

百度了解决方法如下(亲测可用):

 

例如:TestDlg.cpp中ON_REGISTERED_MESSAGE(WM_INITDIALOG, &CTestDlg::OnInitDialog):
第一:把原来的消息函数返回值类型改为LRESULT(在TestDlg.h中找到OnInitDialog定义,将virtual BOOL OnInitDialog()改成virtual LRESULT OnInitDialog();声明处也要改(在TestDlg.cpp中函数处),如BOOL CTestDlg::OnInitDialog());


第二:函数内可以随便写个return TRUE(自带了,我没有添加);


第三:然后消息函数的参数必须改写成(WPARAM wParam,LPARAM lParam)而不论这两个参数是否用得到(定义和声明两处都加上);


第四:消息映射表中,去掉REGISTERED,改成ON_MESSAGE(WM_INITDIALOG, &CTestDlg::OnInitDialog)。

孙鑫视频改变窗口过程函数中出现error C2440错误的解决方法

标签:

原文地址:http://www.cnblogs.com/thestral-rebirth/p/5358248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!