如何在Delphi中防止ProcessMessages
Application.ProcessMessages命令是众所周知的,我在长进程中使用它来确保我的程序不会占用计算机.
但我有一个相当快速的处理集,我在缓冲视图到文件.在缓冲过程期间,可以发送一些系统消息(例如,重绘或滚动条移动或其他事件).我希望防止这些被ProcessMessages处理,直到我的缓冲完成. 有没有办法: >防止Application.ProcessMessages直到我的程序完成,或者 解决方法
允许ProcessMessages继续,即使它发送您不想要的消息也不应被归类为有问题.通过一些代码重构,您可以将缓冲方法移动到单独的线程中并从那里开始.
如果您尝试将控件的“可视内容”复制到文件中, >查看WM_PRINT(xxx)消息,该消息允许子控件将自己绘制为位图 覆盖WndProc或DefaultWndProc并简单地为每个消息返回true实际上“关闭”ProcessMessages但是这样做是不安全的,因为控件可能需要处理一个或多个消息才能正常工作. 无法关闭ProcessMessages(不重写用于消息处理的VCL代码),因为它是VCL表单的消息循环构建方式的一部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |