【问题标题】:MFC OnTimer() method not workingMFC OnTimer() 方法不起作用
【发布时间】:2011-08-11 14:19:44
【问题描述】:

我创建了一个基于 MFC 对话框的应用程序,并希望在表单上添加计时器。但事实证明,MFC 与 .NET windows 窗体不同。

我在消息映射中添加了 ON_WM_TIMER()。并添加了 CMyDialog::OnTimer(UINT_PTR x) 的函数定义 { }

但我在 VS2005 中遇到编译器错误。我不知道我做错了什么。 "错误 C2509: 'OnTimer' : 成员函数未在 'CMyDialog' 中声明"

非常感谢您的帮助。谢谢。

【问题讨论】:

  • 你在.h文件(MyDialog.h)中添加了方法声明:afx_msg void OnTimer(UINT_PTR nIDEvent);???

标签: mfc timer


【解决方案1】:

显然,您忘记在MyDialog.h 中声明函数,在CMyDialog 声明中:

afx_msg void OnTimer(UINT_PTR x);

请注意,afx_msg 仅供参考,可以省略。

【讨论】:

    【解决方案2】:

    ON_WM_TIMER map 宏的文档表明您正在做正确的事情。我能想到的唯一一件事是您将 afx_msg 限定符从您的函数定义中删除。

    编辑:冒着说明显而易见的风险,您是否还在您的类声明中包含了 OnTimer 函数的原型?

    【讨论】:

      猜你喜欢
      • 2013-10-13
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多