先在头文件中:
#define WM_MYNOTIFYICON (WM_USER+200);
protected:
HICON m_hIcon;
HICON m_hMyIcon;
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg LONG OnNotifyIcon(WPARAM wParam,LPARAM lParam);//我自己添加的
DECLARE_MESSAGE_MAP()
然后在源文件中
BEGIN_MESSAGE_MAP(Cwar3Dlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_COMMAND(IDM_SHOW, &Cwar3Dlg::OnShow)
ON_COMMAND(IDM_HIDE, &Cwar3Dlg::OnHide)
ON_MESSAGE(WM_MYNOTIFYICON,&Cwar3Dlg::OnNotifyIcon)//我自己添加的
END_MESSAGE_MAP()LONG Cwar3Dlg::OnNotifyIcon(WPARAM wParam,LPARAM lParam)
{

}
这样写报错
1>d:\vs08\war3\war3\war3dlg.cpp(68) : error C2143: 语法错误 : 缺少“}”(在“;”的前面)
1>d:\vs08\war3\war3\war3dlg.cpp(68) : error C2143: 语法错误 : 缺少“}”(在“;”的前面)
1>d:\vs08\war3\war3\war3dlg.cpp(68) : error C2143: 语法错误 : 缺少“;”(在“,”的前面)
1>d:\vs08\war3\war3\war3dlg.cpp(68) : error C2059: 语法错误 : “,”
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2059: 语法错误 : “}”
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2653: “TheBaseClass”: 不是类或命名空间名称
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2065: “GetThisMessageMap”: 未声明的标识符
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2065: “_messageEntries”: 未声明的标识符
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2059: 语法错误 : “return”
1>d:\vs08\war3\war3\war3dlg.cpp(69) : error C2059: 语法错误 : “}”
1>d:\vs08\war3\war3\war3dlg.cpp(75) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>d:\vs08\war3\war3\war3dlg.cpp(75) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>正在生成代码...
1>正在编译...
1>war3.cpp
1>正在生成代码...
1>生成日志保存在“file://d:\vs08\war3\war3\Debug\BuildLog.htm”
1>war3 - 14 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决方案 »

  1.   

    #define WM_MYNOTIFYICON (WM_USER+200);
    后面不要分号
      

  2.   

    先在头文件中:
    #define WM_MYNOTIFYICON (WM_USER+200);
    画蛇添足? 哪儿来的";"还有就是一般我们都是 LRESULT Cwar3Dlg::OnNotifyIcon(WPARAM wParam,LPARAM lParam) 不是LONG
      

  3.   

    #define WM_MYNOTIFYICON (WM_USER+200);
    应该就是这里的分号吧
      

  4.   

    同意,加了分号就成了
    ON_MESSAGE((WM_USER+200);,&Cwar3Dlg::OnNotifyIcon)定义宏的时候一定要注意分号的问题啊。