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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了孙鑫视频改变窗口过程函数中出现error C2440错误的解决方法相关的知识,希望对你有一定的参考价值。

在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错误的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

VC++深入详解 孙鑫 第一章 Windows程序内部运行机制

低价孙鑫C++教学视频教程20讲完整版

孙鑫 VC++从入门到精通 视频教程flash 下载

在安装EPLAN过程中出现ERROR1275 怎么办

如何学习网络编程

关于Visual Studio 2010中MFC工程的消息WM_INITDIALOG找不到的问题