|
1
|
| 1800 INFORMATION · 技术社区 · 17 年前 |
|
1
4
PostNcDestroy() 就是你要找的。 顺便说一下,如果您正在实现一个无模式对话框,并且正在寻找“删除此;”的位置,那么postnDestroy()就是这个位置。 |
|
|
2
1
这个答案描述了我如何最终解决我的问题。我会注意到,虽然约翰迪布林的回答很有帮助,但这并不是我问题的最终解决方案。这是因为wm_nc_destroy消息作为最终消息发送到窗口,但可以在处理完最后一条发送到窗口的消息之前进行处理。参见例如 http://support.microsoft.com/?kbid=202110 关于这个问题的解释。
打过电话之后
我创建了上面的类,注意它是从ATLcWindow类派生的——这允许我为这个类使用onFinalMessage处理程序。OnFinalMessage处理程序不同于MFC窗口中的PostncDestroy,因为它保证只有在堆栈上的最终消息处理程序完成后才能调用。 然后,我们使用窗口子类来插入这个窗口,作为我自己窗口的窗口过程:
然后,我们为窗口实现onFinalMessage处理程序:
|