首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

线程中控制进度条!该怎么处理

2012-02-16 
线程中控制进度条!在复制文件的时候,如果不用多线程的话,主窗体在复制的过程中就无法移动什么的,请问创建

线程中控制进度条!
在复制文件的时候,如果不用多线程的话,主窗体在复制的过程中就无法移动什么的,请问创建线程显示进度。
请给出具体代码让我参考下,刚刚涉及线程编程,不懂的很多!请高手指教!

[解决办法]
进度条对话框放在主线程中,传进度条窗口句柄至工作线程中,然后,在工作线程中更新。
[解决办法]
发消息给主线程,让主线程刷新进度条。
[解决办法]
把需要处理进度条窗口句柄传给线程,线程往该窗口句柄发送处理进度消息,在进度条窗口处理线程发送的Windows消息即可。
thread
const
WM_DEAL_PROCESS = WM_USER+1;

PostMessage(hProcessForm,WM_DEAL_PROCESS,0,进度值);
...

进度条窗口

private
procedure OnDealProcess(var Msg:TMessage); Message WM_DEAL_PROCESS;

...

procedure TFmDealProcess.OnDealProcess(var Msg:TMessage);
begin
Progressbar.position = msg.LParam;
end;

热点排行