关于vc6的非模态对话框中的问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 16:26:59
我新建了一个对话框要作为弹出的非模态对话框.我对类向导生成了一个OnPaint函数,结果在多次的非模态对话框的隐藏/显示中,会出现Debug Assertion Failed这种错误
我把CPaintDC dc(this); // device context for painting
注释了后,就不再出错了,在使用中不管隐藏/显示多少次也没关系了

这是为什么啊
我这个非模态就是用来绘图的,而且还要即时更新的,当主窗口内容发生改动时,这个非模态里的图片也要相对应的即时更新

按重试->调试,结果就关掉了,什么提示也没有,只显示了 has exited with code -2147483645 (0x80000003).

我自己重新建了一个全新的工程,这样做竟然不出错了,不知道是什么地方会引起这种问题

O_O

你在OnPaint创建这个非模态对话框?

其实如果你不用到绘图的吧,把
CPaintDC dc(this)
注释掉也没啥

调试一下就可以发现问题,一般都发生在系统函数中,比如窗口m_hWnd为空,或者窗口不可见等,调试一下就能发现问题出在哪里了,在调用系统函数前进行参数检查