【发布时间】:2012-07-06 07:52:23
【问题描述】:
一个简单的search for DoEvents 会带来很多结果,这些结果基本上会导致:
DoEvents是邪恶的。不要使用它。请改用线程。
一般引用的原因有:
- 重入问题
- 性能不佳
- 可用性问题(例如,在禁用的窗口上拖放)
但一些值得注意的 Win32 函数,例如 TrackPopupMenu 和 DoDragDrop执行它们自己的消息处理以保持 UI 响应,就像 DoEvents 一样。
然而,这些似乎都没有遇到这些问题(性能、重入等)。
他们是怎么做到的?他们如何避免DoEvents 引用的问题? (或者做他们?)
【问题讨论】:
-
我刚刚在 MSDN 上找到了一篇非常有用的文章:blogs.msdn.microsoft.com/jfoscoding/2005/08/06/…
标签: windows winforms winapi visual-c++ doevents