具有编辑控制错误的MFC旋转控制伙伴

时间:2014-08-11 22:37:39

标签: c++ .net mfc

我通过dlg资源创建了所有控件。我添加了代码来控制旋转控制,它运行得很好。但是,如果我想通过在其中键入值来直接更改编辑框的值,程序将崩溃,除了“退出返回值13”之外没有任何错误消息。

void CNuanceGuiPart2Dlg::OnEnChangeSignalDb(){
// TODO:  If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialogEx::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO:  Add your control notification handler code here
}

如果我要在包含UpdateData调用的上述块中添加任何代码或操作CEdit / CSpinControl对象,它会在wincore2.cpp,128行给我一个调试断言。

编辑: 所以我发现当代码第一次运行时,函数被调用太快了。如果我使用ON_EN_CHANGEif(gui_start)映射的整个函数包裹起来,并在执行gui_Start时发出CDialog::OnInitDialog()信号,那么对GUI的任何更新都可以正常运行 - 我甚至没有得到调试运行时错误。我的问题是:无论如何我可以在没有gui_Start的情况下做到这一点?为什么这么快就会调用此特定编辑框的ON_EN_CHANGE?它与旋转控制有关吗?提前谢谢。

0 个答案:

没有答案