我有一个相对简单的Window类。我创建了一个窗口,关联了我的this
等等。现在,后来我抛出了一个异常来指出问题。当我呼叫MessageBox
弹出错误时,程序崩溃,因为它试图调用我的Window Proc。现在,我的意思是,无可否认,我在这里失败了SRP,只是写了一个简短的拥有自己的HWND类将解决这个问题,因为窗口没有正确清理。然而,我真的很困惑,为什么它试图在我的MessageBox
调用中处理窗口消息 - 所有者参数是nullptr
。有什么建议么?消息框发送Windows消息?
编辑:如果我恰当地调用DestroyWindow
,那么现在消息框不显示,尽管应用程序不会崩溃。它只适用于我从窗口手动删除this
,所以如果proc被调用,它将转发到DefWindowProc
,然后DestroyWindow
。我的意思是,我认为如果你没有一个所有者就叫MessageBox
,那么无论你对系统中的其他窗口做了什么,它都可以工作。
它只是用于终止或'printf'调试,所以不好的行为不是问题。 – Puppy 2011-05-31 19:51:15
@deadmg好的,我明白了 – 2011-05-31 19:54:21