真是奇怪了(MFC关联变量)

我打开前几天创建的MFC的对话框程序,在RC文件上添加了3个编辑框3个静态文本框和一个组合框,编译,链接,然后运行程序,一切正常。但是在我给组合框关联了一个CComboB... 我打开前几天创建的MFC的对话框程序,在RC文件上添加了3个编辑框3个静态文本框和一个组合框,编译,链接,然后运行程序,一切正常。但是在我给组合框关联了一个CComboBox类型的变量后(只是关联,还有添加其他代码),编译,链接没问题,但是运行程序却没有窗口显示了。然后我取消了那个变量,又给3个中的1个编辑框关联了一个CString的变量,编译,链接没问题,运行也有窗口,但是马上程序崩溃了,出现了错误。提示"...我们对此...抱歉...",我只是关联变量,其他的什么也没做,难道就至于此吗?我把变量都删了之后,就不会出现错误了,程序也不会崩溃了。这是什么原因啊?
1楼是什么意思啊,不太明白。
代码太多了,不好贴啊。我想这不应该出问题啊。在一个对话框上继续添加控件,然后关联一下变量,就这么简单,还没有使用变量都出问题。删除变量,一切正常。
展开
 我来答
schenton
2008-04-14 · TA获得超过104个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:161万
展开全部
有可能你是不是删除了什么控件 而最开始 你给这个控件关联了一个变量
而在DoDataExchange()这个函数里 DDX_Control(pDX, YOURID, YOURVAR);这个函数
实现变量与控件的关联。
我们再跟进DDX_Control()这个函数里,会发现他调用PrepareCtrl()这个函数,而这个函数的函数体
{
ASSERT(nIDC != 0);
ASSERT(nIDC != -1); // not allowed
HWND hWndCtrl;
m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);//这句话 获得你控件的窗口句柄,如果你删除了控件 那么hwndctrl返回null
if (hWndCtrl == NULL)
{
TRACE1("Error: no data exchange control with ID 0x%04X.\n", nIDC);//如果删除控件 进入这里,然后报错...
ASSERT(FALSE);
AfxThrowNotSupportedException();
}
}
皇家救星1985
2008-04-14 · TA获得超过1131个赞
知道大有可为答主
回答量:1579
采纳率:0%
帮助的人:1666万
展开全部
一般情况下是不会出现这个问题的 可能是你程序其它代码导致的 不信你重新建一个工程试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友32cdd9945
2008-04-14 · TA获得超过1374个赞
知道大有可为答主
回答量:2429
采纳率:100%
帮助的人:1929万
展开全部
没看到代码不好说话
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
发狂的蜜蜂
2008-04-14 · TA获得超过891个赞
知道小有建树答主
回答量:983
采纳率:0%
帮助的人:848万
展开全部
你的组合框和编辑框 是不是继承了系统默认组合框类和编辑框类阿后自定义的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式