我有一个类CMyTreeCtrl,
线在是在线程中传入该类对象的指针调用某个成员函数,该成员函数需要递归读取CTreeCtrl的一些节点,根据节点的值进行某些操作(操作比较耗时)。觉得这样的方法很不好,通过指针调用成员函数。但是不这样的话对于CTreeCtrl的节点遍历执行耗时的操作来说SendMessage调用肯定不行吧。那么求教线程中如何做遍历CTreeCtrl的节点并执行操作的方法比较好

解决方案 »

  1.   

    MFC的窗口类都不是线程安全的,应该在主线程中来完成相关的工作。
    由辅助线程向主线程发送消息来完成。
      

  2.   

    http://support.microsoft.com/kb/147578
      

  3.   

    建议针对treectrl的节点,用一个list映射tree的所有节点,每个节点可以用自定义结构老保存相关信息,线程操作此list,当需要改动界面的时候,postmessage主线程,主线程可以通过访问list来确定如何改变