我要离开 OWL。我创建了一个名为TDialog
继承自的对话框类,CDialog
并重写了它OnWndMsg
以允许 OWL 事件处理也可以在 MFC 旁边工作。OWL 使用响应表(消息映射的另一种形式,它是 OWL 的规范),同时我调用 base 的方法CWnd::OnWndMsg
。问题是对话框上的所有控件在鼠标移到它们上方或最小化对话框然后恢复它之前都不可见,然后所有控件都将被重绘。
另一个问题是,当我单击“确定”按钮 [Id = IDOK] 时,对话框关闭但抛出异常。我认为这是因为我们处理了两次消息,因此可能会关闭句柄。
在这种情况下,多次处理消息的最佳方法是什么?