社区
进程/线程/DLL
帖子详情
求救,线程
meistone
2004-07-15 11:06:27
我原来是在程序中直接读一个大文件,在读文件的中向主窗口发送消息来更新状态栏中的进度条,但是实际上在读文件的时候进度条根本不会更新,只是在读完文件之后才一下子全部更新。
后来我把读文件的操作放在一个另外的线程中,现在进度条是更新了,但是我想在读文件的时候,光标变成等待状态却不知道怎么来实现了,请各位高手指点。
...全文
153
6
打赏
收藏
求救,线程
我原来是在程序中直接读一个大文件,在读文件的中向主窗口发送消息来更新状态栏中的进度条,但是实际上在读文件的时候进度条根本不会更新,只是在读完文件之后才一下子全部更新。 后来我把读文件的操作放在一个另外的线程中,现在进度条是更新了,但是我想在读文件的时候,光标变成等待状态却不知道怎么来实现了,请各位高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sinsou
2004-07-16
打赏
举报
回复
用OnTimer啊
CProgressCtrl* pBar = (CProgressCtrl*) GetDlgItem(IDC_PROGRESS1);
pBar->SetPos(pos);
SetTimer(1, 100, NULL);
应该很好办的
holyeagle
2004-07-15
打赏
举报
回复
由于WM_PAINT消息的响应级别很低,在你调用文件读写的时---比如说在Dialog上点击button,系统通过消息调用你的函数,你这个函数没有完成时,WM_PAINT无法响应,你的进度条就无法更新。
你可以自己手动分发消息
BOOL PeekAndPump()
{
static MSG msg;
while (::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
{
if(!AfxGetApp()->PumpMessage())
{
::PostQuitMessage(0);
return FALSE;
}
}
return TRUE;
}
这是个笨办法,希望有更好的解决方案。
huang_yu
2004-07-15
打赏
举报
回复
在你的工作线程启动时,发条消息给界面,要求更改鼠标形状;
线程工作完成了,再发条消息给界面,把鼠标形状改回来;
这样就行了。
meistone
2004-07-15
打赏
举报
回复
我如果用原来的方法,有没有办法实现进度条的实时更新呢?
xiaoqiqixiao
2004-07-15
打赏
举报
回复
需要响应WM_SETCURSOR或WM_MOUSEMOVE消息,在它们的消息处理中SetCursor
meistone
2004-07-15
打赏
举报
回复
huang_yu(HY)
你的方法好象不行啊,光标不会改变啊!
还有好方法没?
[VB.NET]
求救
线程
下载程序
本文探讨了使用VB.NET进行网络资源下载的方法,并尝试通过
线程
来提高下载效率。介绍了利用System.Net.WebClient组件下载文件的基本流程,以及遇到的问题和改进方向。
谁懂多
线程
啊!!!!
博客发布者发出
求救
信息,虽未明确具体问题,但标签显示与多
线程
相关,推测是在多
线程
方面遇到难题。
求救
客户端创建多
线程
SOCKET连接
本文讨论了为工商银行进行连接压力测试的方法,计划通过多
线程
建立SOCKET连接来并发访问服务器,寻求相关源码和经验分享。
linux top命令
线程
,linux top命令
求救
本文探讨了Linux系统中关于内存使用的情况,特别是针对PID为4864的
线程
。尽管该
线程
的交换内存(swap)占用242m,但在系统总体交换内存使用率显示为0。此外,还讨论了RES(物理内存)与数据和代码的不匹配现象,引发了对内存管理的深入思考。
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章