感觉好久没有写代码了,今天犯了一个很严重的错误
用VS2008自定义了一个消息,代码如下
#define WM_MYMESSAGE WM_USER+1;
ON_MESSAGE(WM_MYMESSAGE, &CTestDlg::OnMyMessage)
HRESULT CTestDlg::OnMyMessage(WPARAM wParam,LPARAM lParam)
{
//wParam 接收的是图标的ID,lParam接收的是鼠标的行为
if (wParam != IDR_MAINFRAME)
{
return 1;
}
switch(lParam)
{
case WM_RBUTTONUP:
break;
}
return 0;
}
编译结果如下:
1>------ 已启动生成: 项目: Test, 配置: Debug Win32 ------
1>正在编译...
1>TestDlg.cpp
1>e:\项目开发\test\test\testdlg.cpp(67) : error C2143: 语法错误 : 缺少“}”(在“;”的前面)
1>e:\项目开发\test\test\testdlg.cpp(67) : error C2143: 语法错误 : 缺少“}”(在“;”的前面)
1>e:\项目开发\test\test\testdlg.cpp(67) : error C2143: 语法错误 : 缺少“;”(在“,”的前面)
1>e:\项目开发\test\test\testdlg.cpp(67) : error C2059: 语法错误 : “,”
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2059: 语法错误 : “}”
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2653: “TheBaseClass”: 不是类或命名空间名称
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2065: “GetThisMessageMap”: 未声明的标识符
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2065: “_messageEntries”: 未声明的标识符
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2059: 语法错误 : “return”
1>e:\项目开发\test\test\testdlg.cpp(68) : error C2059: 语法错误 : “}”
1>e:\项目开发\test\test\testdlg.cpp(74) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\项目开发\test\test\testdlg.cpp(74) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>正在生成代码...
1>正在编译...
1>Test.cpp
1>正在生成代码...
1>生成日志保存在“file://e:\项目开发\Test\Test\Debug\BuildLog.htm”
1>Test - 14 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
调了大半天,竟然是第一句定义消息的地方错了:应该把分号去掉
真是粗心啊