我调用dlg.DoModal();打开一个模式对话框,然后在对话框上添加一个按钮,单击此按钮调用this->OnCancel();退出!!模式对话框退出来了,但是也退出了整个系统。
系统中的其他模式对话框就没有此问题。
这个模式对话框一开始还没有这个问题,后来不知道怎么的就有了这个问题。
是不是因为我的VC是盗版的,所以才。
有遇到过这种情况的吗?
系统中的其他模式对话框就没有此问题。
这个模式对话框一开始还没有这个问题,后来不知道怎么的就有了这个问题。
是不是因为我的VC是盗版的,所以才。
有遇到过这种情况的吗?
2 在DoModal()返回之后是不是有退出的代码?
而应当用CDialog::OnCancel();
你应该看看这个按钮的ID是不是IDCANCEL如果是的话,这就成了一个递归调用。
void CB::OnCancel()
{
this->OnCancel();
CDialog::OnCancel();
}
2、ID为IDCANCEL的按钮没有添加单击事件。
3、我把ID为IDCANCEL的按钮删除,新添加一个按钮,
ID:IDC_BUTTON9,
单击事件:
void CProduIn::OnButton9()
{
// TODO: Add your control notification handler code here
this->OnCancel();
}
4、OnCancel()函数没有重载。栈溢出???就不明白了。
我添加了一个静态文本,ID改为IDC_STACOUNT,添加Control、CStatic类型的变量m_stacount,
然后就出现了这个情况。
我把m_stacount变量删除以后,就只退出模式对话框了。
这个对话框已经定义了40个变量,Control类型,CEdit、CComboBox、CStatic、CButton
m_stacount是第41个变量。原因已经找到,问题可以解决,但不明白为什么?