关于flashget和netant中ListView的使用?(200分)

  • 主题发起人 主题发起人 awl
  • 开始时间 开始时间
A

awl

Unregistered / Unconfirmed
GUEST, unregistred user!
在flashget和netant中使用ListView来显示文件下载过程中与服务器的交互信息。由于每一个
文件都可以分成几段下载,所以当我们点击每一个“蚂蚁”(分段)时都会在右边的ListView中显示
该“蚂蚁”与服务器的交互信息,并且该“蚂蚁”所对应信息可能还会在不断的改变。
我想问的是这种效果如何实现,我觉得这里由两个问题需解决:一是,每一个“蚂蚁”的信息必须
保存下来以供察看。二是,当我们选定一个“蚂蚁”时,该蚂蚁对应的信息能实时的变化。我试着写了
一下都觉得效果不佳,不象flashget与netant那样切换的快速、平滑。
希望各位大虾指点一下,如果能给出具体的思路与代码小弟将不胜感激!
谢谢!
 
我也没做过,不过我觉得那应该是画上去的,选定只是位置而已,
 
2、http://www.delphibbs.com/delphibbs/dispq.asp?lid=193131
 
to kkyy:
我想你是误解了,我指的是显示文字下载信息的ListView,而不是指的那些表示进度的
“小豆豆”。
 
注意哦, 刷新信息的不是主程序, 而是各个线程。 主程序只须把控件"交给"相应线程即可
笨办法(其实不笨, 只是以内存换速度而已)是有几个线程就由主程序生成几个显示控件, 主程序只要调度谁显示在最上面即可。
 
这个只要将信息保存,切换的时候将这个ListView清空,拷入这个蚂蚁的信息就可以了,
如果有新信息到,先保存下来,如果是这个蚂蚁的信息就写入listview,就可以,只不过
他们是多线程的,所以在界面切换比你平滑
 
to Pearl:
你所说的生成多个ListView控件的方法我还真没试过,我可以试一下。
to zifeng:
你的思路与我的一样,只是你依然只解决了保存信息,但是信息的实
时更新依然麻烦。还有我也是使用多线程来实现上述所说的东西的。

我非常希望由一个较详细的分析与说明。
 
实时更新你可发自定义消息,由这个消息来维护Listview的内容更新,是这个蚂蚁就发消息
给他,不是的话就不发,或是过滤掉,多个listview没有必要,容易造成资源的浪费,你可
用SPY++看看netants是用多个listview实现的还是怎么实现的
 
我没试过,我试试!
 
你需要定义一个消息二种含义,一种是切换所有内容,一种是增加一条消息
 
消息是平滑的,不存在多线程之间竞争的问题
 
多人接受答案了。
 
后退
顶部