error C2065: “IDCANCEL”: 未声明的标识符

Kincow_Doki 2011-04-18 03:24:19
大家好,我在用Visual Studio 2008编译孙鑫老师关于MFC课程的第10课的源代码出错,不知道有那位高手可以帮忙解决下。该包括的头文件我都包含进来了,只是加了老师写的那两个类之后才报这个错的。
...全文
659 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
尕阳 2013-06-06
  • 打赏
  • 举报
回复
但是按照你们的方法改了 之后 再新建一个程序 还是提示一样的错误
qz_lxc 2011-07-11
  • 打赏
  • 举报
回复
1111
Kincow_Doki 2011-04-19
  • 打赏
  • 举报
回复
这可能是VS2008里的一个BUG,当我运行成功一次后,再把这句话删除,它又没有问题了。
Kincow_Doki 2011-04-19
  • 打赏
  • 举报
回复
大家好,现在我已经解决这个问题
经过1楼和5楼和提醒,我在resourch.h里加上一句:
#define IDCANCEL 2
编译通过,运行也没有报异常了,如果这个不写成2,就会报异常错误。所以我觉得5楼的回答非常有帮助。谢谢了。虽然不是答案.
Kincow_Doki 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bokutake 的回复:]
IDCANCEL是在你的.rc对话框资源里,它本身的值winuser.h已经定义了,这个头文件会被自动包含,你重复包含肯定出错。
你看看你的resource.h有没有IDCANCEL,没有的话,你应该在对话框里给一个按钮设置ID为IDCANCEL
[/Quote]
谢谢,这些控件在对话框上已经有了,IDOK,IDCANCEL都是现成的,在VS2008里这两都不会在resource.h中包含。
辰岡墨竹 2011-04-19
  • 打赏
  • 举报
回复
IDCANCEL是在你的.rc对话框资源里,它本身的值winuser.h已经定义了,这个头文件会被自动包含,你重复包含肯定出错。
你看看你的resource.h有没有IDCANCEL,没有的话,你应该在对话框里给一个按钮设置ID为IDCANCEL
Kincow_Doki 2011-04-19
  • 打赏
  • 举报
回复
大家好,我使用的是Visual Studio 2008,在VC++里没问题
chenzekai123 2011-04-19
  • 打赏
  • 举报
回复
删除项目文件夹的aps、opt、ncb、plg文件,然后在VC中按F7重建
self001 2011-04-18
  • 打赏
  • 举报
回复
都是已经添加好了的。 你全部重建试下?
疯狂-的-蜗牛 2011-04-18
  • 打赏
  • 举报
回复
不大可能啊,IDOK,IDCANCEL,IDYES,IDNO……都是MFC已经定义了的,不需要再添加相应代码的、
HowToP2p 2011-04-18
  • 打赏
  • 举报
回复
* Dialog Box Command IDs
*/
#define IDOK 1
#define IDCANCEL 2

摘自WinUser.h
Kincow_Doki 2011-04-18
  • 打赏
  • 举报
回复
IDOK使用是没有问题
Kincow_Doki 2011-04-18
  • 打赏
  • 举报
回复
楼上,加了个#include "WinUser.h"没用啊
onlyliu 2011-04-18
  • 打赏
  • 举报
回复
你加的应该是对话框类,相对应的资源文件你也得包含进来。
HowToP2p 2011-04-18
  • 打赏
  • 举报
回复
IDCANCEL 定义在 WinUser.h中

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧