现使用线程下载文件,同时用消息机制来对主界面上的控件进行下载状态和下载进度的更新。现问题如下: 1. 我有2个列表 一个是可下载的列表 一个是正在下载的列表 2者必须同时更新,可是问题是如何得到要更新的行在正在下载列表中所处的行号。 我有个想法就是遍历去获得每一行的对应列的数据 然后将其与要更新的行的对应列进行比对 然后进行更新,但是效率可能是个问题。
2. 有没有其他办法做到2个表的同时更新,效率比较高的。 3. 关键的约束条件是相同内容在2个表里面所处的行数不相同。
2. 有没有其他办法做到2个表的同时更新,效率比较高的。 3. 关键的约束条件是相同内容在2个表里面所处的行数不相同。
或者用个YD的方法 将两个列表的位置组成一个结构体 然后new一个结构 将地址传到线程里面
线程里面就知道位置(我还不是很确定线程是不是知道位置) 需要更新的时候 写入这个结构的地址 然后SendMessage的时候将结构的指针传过去
用一个结构体
struct data
{
int iFirstPos;
int iSecPos;
};然后SendMessage通知主窗口的时候将这个结构的指针传过去就OK了
线程中知道具体的行号吗?
想到个办法 :在插入正在下载列表的时候将行号传到线程里面去,然后postmessage的时候将其传出来,这样应该可以了。量不大,枚举也是不怎么费劲。呵呵 只是想知道有没有其他的办法。学习下大家的思想,一个人的想法总是太局限了。