我定义了一个CTreeCtrl的类,在一个工作线程中给他添加项目
添完了后,是一块白的。 我知道是没有重画,于是我在添加项目完后用了 m_MainDlg->RedrawWindow(); 不行 再用 m_MainDlg->m_Tree.RedrawWindow();也不行。
我再用 GetDC(); SendMessage WM_PAINT 不行,再用 CRect re;GetWindowRect,MoveWindow 还是不得行,必须要手动去调整一下窗口的大,或者移动一下窗口,他才能显示。。郁闷,我总不能让我的用户每次都去移动窗口吧。

解决方案 »

  1.   

    直接在线程中InsertItem应该不行吧.
      

  2.   

    都不行了,如果放在一个线程里,就没有问题,就是一个目录选择。当我选折C:时,我开1条线程去将C盘下所有目录和文件都添加到tree里面。
    有时能够显示,有时却不能显示,必须自己去移动,才能重画,显示出来。。
      

  3.   

    在添加之前,UpdateData(TRUE),
    之后.    UpdateData(FALSE);
      

  4.   

    在添加之前,UpdateData(TRUE),
    之后.    UpdateData(FALSE);哈哈,问题,解决 给分。