建立了一个线程,在线程中作无限循环现实当前的计算机时间,并把时间显示到一个窗体的TEdit上,其中在线程中使用同步Synchronize向窗体中显示数据,例如在TEdit中显示时间,但是为什么在鼠标点击窗体的标题栏或者移动窗体时,TEdit中的时间就不走了呢,在松开鼠标后TEdit中的时间又开始走了。有没有什么办法使在操作窗体的标题栏时也可以正常的有线程显示数据呢?

解决方案 »

  1.   

    将 Synchronize 去掉
    或者,直接 post 个消息给窗口,让窗口自己去更新 TEdit
      

  2.   

    我是用多个线程,每个线程处理不同的事务,然后显示在窗口中。
    如果去掉了Synchronize会不会有什么影响啊,还望指教。
      

  3.   

    不知道你的线程是怎么写的。就是用个Timer来实现你的功能,也不会出现你所说的情况啊。
      

  4.   

    Synchronize是阻塞方式的,如果一个消息没有处理完成,那么不会返回的,所以采用PostMessage结合主窗体处理消息即可。