在VCL 中最好不用多线程。
解决方案 »
- delpni7自适应屏幕大小
- PageControl 中的多个TreeView的问题,请帮忙!
- 关于对SQL-SERVER2000进行图片存取的问题
- [★醒目]建议加入个人黑名单功能,以屏蔽自己认为恶意不结贴的人的帖子,支持的进,不支持的也进:)
- 哪位高手给解释一下?我真是搞不明白它们的区别
- 为什么第二次执行OleContainer1.CreateObjectFromFile,就看不到文件了呢?
- 动态组件如何响应事件?
- 格式化日期!
- 请推荐国外(or 国内)优秀的编程网站,for delphi 或vc等等
- 请教分布式程序发布的错误问题。谢谢。
- delphi6的updata pack1解决了什么问题?pack2解决了什么问题?谢谢
- 三种查询语句,谁的效率更高?
因为这个绘画过程实在很费CPU时间。
我想在这个过程让用户响应。
2、不想看到绘画过程,可以建立一个线程和一个兼容DC,线程随时在DC上绘图,并适时通知PaintBox重画,OnPaint中可以直接将兼容DC复制到PaintBox上
请查看<DELPHI 5开发人员指南>中的第11章节中的多线程与图形处理一文……
如果没有此书,可在网站上下载此书的电子档,或留下你的电子邮件地址…
激活-->绘图-->挂起
当然也可以让线程在后台根据情况随时重绘PaintBox也可以
我确实想看到绘画过程。我在OnPaint事件中激活了线程,但在这个过程中,用户还是不能响应其它消息。不知道这是为什么?
所以你等于没有用线程, 改用api试试, vcl的机制就是如此。要不为什么非要把非后台代码放在Synchronize函数中呢,就是为了把这段
代码编译后放在主线程中。vcl严格来说,实现了不完全的多线程执行。