我开发的是数据库管理软件,每次在读取数据库的时候我都想添加了一个loading窗口,
这样会更友好一些,但是实际项目中有很多控制参数,传进传出这些参数到线程
是一个很麻烦的事情,还有把数据存储在CListCtrl之后,我想执行一个从CListCtrl导出数据的函数也需要放在线程中也就是凡是操作稍微耗时的操作,我都想放在线程中进行,传进传出参数,过于麻烦不知道大家可否有好的解决方案?

解决方案 »

  1.   

    传递主线程的this指针给线程,这样线程中就可以通过this指针访问主线程的所有变量了.
      

  2.   

    我想在另外的线程中遍历CListCtrl对象,找到他的选择行,遍历的时候CListCtrl的很多方法都是通过发消息给CListCtrl得到的返回值,执行的时候程序就停滞了,也不死机,也不往下执行了,这是什么状况呢?
      

  3.   

    另外线程不要直接操作CListCtrl等UI对象,而是发送消息给主线程,然后由主线程来操作CListCtrl对象
      

  4.   

            如果你从线程里取得数据库中的数据放在记录集里,那么你可以把记录集变量定义成工程全局类型,这样就可以在任何线程里都使用这个记录集所取得数据.
            如果你把记录集取到的数据都放在一个缓冲区了,那么可以定义这个缓冲区为全局类型,也可以设置个共享缓冲区来操作数据
             有个WM_COPYDATA这个消息,这可以用来在两个程序之间传递数据的,同样进程间线程间也可以