我在做一个项目(类似地理信息系统),我装载的是一幅地图(比较大),我在程序中用了两个线程,一个处理画圆圈(连续不断的画),一个处理查询数据库(点击button后运行,查询结束后终止)。可能消耗的资源较大,因此出现以上问题(有时发生,有时却很正常)。那么,如何自己控制窗体的重画事件,而不是由系统控制。谁能帮我,20分相送,分不多(只能送这么多),勿见怪!

解决方案 »

  1.   

    处理 WM_EARSEBACKGROUND 消息
      

  2.   

    好象此消息是针对从twincontrol继承的控件,但image不是从wincontrol继承的。
      

  3.   

    一般可能发生在你的线程里.画圆圈时是否用了Synchronize?你是直接在image的canvas上画吗?
      

  4.   

    用不用synchronize都差不多,不知我有没有记错,image好象是线程安全,待我回去查一查.
      

  5.   

    说错话了,image不是线程安全的.但是我的线程方法有参数,用synchronize会出错,错误为"Incompatible types:'TThreadMethod' and 'procedure,untyped pointer or untyped parameter'.参数传递好象没写错(我把颜色值传递给线程方法)我该怎么解决呢?望高手赐教!