设为首页 加入收藏

TOP

双击VC对话框提示cannot add new member的解决方法
2014-11-23 17:37:38 】 浏览:941
Tags:双击 对话 提示 cannot add new member 解决 方法

双击VC对话框提示cannot add new member的解决方法

当我们为vc对话框上的控件添加事件时,不知道大家没有像我一样在双击控件,为其添加响应函数时,出现cannot add new member这样的提示信息,我想,可能有朋友遇到过。只要出现这种情况,那么在该对话无论你怎么点击都会出现上面的提示信息。

当然我也到网上看了下,虽然大家说法不一,但我想应该也都是正确的,不然不会乱写的,只是客观环境不同而已。好了,下面我们说说大致的解决方法。

1.:如果出现这种情况,我们可以先把工程给关闭,然后删除 *.clw文件,然后再打开工程,并按CTRL+W打开ClassWizard,这里我们输入先前删除的文件的文件名,然后点确定,便可重新生成一次*.clw文件。(注意:这里的*代码你的工程,如:我的工程叫Test,那么我们就应该删除Test.clw文件),这里如果顺序的进行ClassWizard页面的话,那么上面的问题上就解决了。

2.如果断续出现类似Canot find header file for class 等提示信息(我今天就出现了这样的信息),如果此时所提示的类确实在存在,那么我们就需要去到该提示文件中去查找类和资源ID的关联是否有问题(当然在这里十有八九都有问题),今晚我的主要问题也就出现在这个地方,本来是为ID为IDD_BUS_CONSIGN的对话框资源关联的CBusConsignView类,由于在

//{{AFX_DATA(CBusConsignView)
enum { IDD = IDD_BUS_CONSIGN };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA

中把CBusConsignView类错误的写CBusConsign,所以一直就出现如上所示的情况。

在这个地方,大部分朋友可能都会像我一样,认为

//{{AFX_DATA(CBusConsignView)已经被注释掉了,所以写什么东西都不会有什么影响,其实不然,在这里我们的类名一定要写正确,否则在带有你的想当然的主观意识在里面的情况下,很难发现这样的错误的。

总结一下:

出现这样的错误的主要原因是没有为资源关联的一个类,如果关联了,那么可能是某个地方写错了,所以只要大家仔细检查一下此该资源相关的类,是可能解决这样的问题的。

注意:我在重复了上述过程几次后才发现,只有先把所有的地方都改掉,特别是上文提到的那几个注释地方,然后再关闭工程,然后再重建CLW文件,才可以。

*我导致出现这个错误的原因是,我一时不小心把MFC的命名规则搞错了,于是只好重新修改了类名,编译和调用都是成功的,可是后来增加新的函数时出现这个问题。其中有几个窗口是好的,主窗口几个是不好的。没办法,手有点生。

另外:有时候儿删除了一个对话框上的控件后,再编译时报那个控件ID没定义,这时有两种方法,一是到RC文件里删除那个ID,这个大多数情况下是可以解决问题的,但有时候儿不行,那么只能采用第二种情况,删除CLW,NCB,(VS2005等高版本一样),这样再打开重新编译链接就OK了.

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇VC 2010 使用GSOAP调用C#写的WEBS.. 下一篇VS error C1083: 无法打开包括文..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目