我创建了一个基于MFC对话框的应用程序,并希望在表单上添加计时器。但事实证明,MFC与.NET窗体不同。
我在messagemap中添加了ON_WM_TIMER()。并添加了CMyDialog :: OnTimer的函数定义(UINT_PTR x) { }
但是我在VS2005中遇到编译器错误。我不知道我做错了什么。 “错误C2509:'OnTimer':成员函数未在'CMyDialog'中声明”
非常感谢帮助。感谢。
答案 0 :(得分:5)
显然,您忘记在MyDialog.h
声明中CMyDialog
声明该功能:
afx_msg void OnTimer(UINT_PTR x);
请注意,afx_msg纯粹是提供信息,可以省略。
答案 1 :(得分:2)
ON_WM_TIMER地图宏的文档显示您正在做正确的事情。我唯一能想到的是你已经将afx_msg
限定符从函数定义中删除了。
编辑:冒着说明问题的风险,您是否还在类声明中包含了OnTimer函数的原型?