[我想开个UI线程来实时显示计算结果,显示窗口在程序刚被创建时就已经嵌套在住窗口中(静态拆分),如今为了在实时画图(显示结果)不让主线程变的很迟钝(用户操作),我想再开个专门来负责显示结果的线程,之前也开启过工作线程来负责显示,不过那样对于重绘工作很难做(有过亿的数据),而且很浪费资源(程序已经开了个计算线程),所以我想通过发送消息来负责画图显示,于是就有了一开始的问题,我知道在自己开启个UI线程时需要在已重载好的CWindThread类中自己新建窗口,以便使这窗口能在这个新的线程中接受消息,然而我的显示窗口在这个新的UI开启之前创建好了所以如何才能使刚开启的UI线程关联到已存在的窗口呢?  请大家帮帮忙

解决方案 »

  1.   

    "我想开个UI线程来实时显示计算结果"
    什么意思???可以有多个UI线程吗?  
      

  2.   

    另外我也是想提高工作线程的计算速度,为了实时绘图也只能在计算线程中绘图,因为数据太多,必须是算一个画一个,这在重绘时也比较麻烦,只能用双dc,因此这个计算线程显得很臃肿,我想在另一个线程中绘图,如果是重开一个工作线程(试过),两个线程同步很麻烦(很难成功),于是我想在算出一结果时就发一个消息给一个UI线程,当然这个UI不可以是主线程,那样程序界面就死了,所以想重开个UI,那样同步的效果要好得多,也不会漏画数据,关键是如何让新建的UI线程跟一个已存在的窗口进行关联? 这个可不可以实现?谢谢。。
      

  3.   

    ja_jerry  如果我只通过计算线程去通知主UI线程绘图的话,程序肯定会死掉的,因为有过亿的数据量,计算次数可想而知,那主线程就什么也不能做了,所以我想重开个UI,因为它是可以接受消息的工作线程,同步比较容易实现,能达到算一个画一个得效果