高分求教!!关于多线程。在对话框中点击确定按钮后,对话框消失,然后出现一个显示进度条的对话框,进度条完后,小对话框也消失。 如何用多线程实现上述功能。用哪CEvent吗?还是其它什么方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用不着多线程吧...点确定的时候hide主对话框,并且DoModal出你的小对话框...估计你要考虑的应该是主对话框跟小对话框的数据通信问题... 恩 可以往小对话框发消息来控件进度条滚动用多线程的话 用UI线程简单点自己写个类 继承CWinThread 然后在InitInstance里创建 在Run()里更新滚动不过一样要考虑通信问题 在work线程结束前,发送自定义消息给进度显示小对话框就行了吧 大家能否说得稍微详细一点?呵呵,我是初学多线程。可能我把问题也没有说太详细。进度条的功能是显示计算的进程,计算完了之后还要在视图区。我的大致流程是:1,建立SDI。2,点击菜单栏后出现一个对话框,选择一个文件出来。3,点击确定后,有进度条的小对话框出现。4,计算完成后,小对话框消失。5,图形显示。因此现在主要是通过多线程进行计算,进度条的显示。谢谢大家这么快给我回复! 我原来不想用多线程的,因为计算也就几秒的时间。所以用了Sleep等待,结果小对话框上的文字显示不出来,就像死机一样。 不清楚你哪里不会,小窗口用DoModal显示,创建线程时将小窗口的指针作为参数传给线程,由线程直接控制进度条,跑完后给小窗口发个WM_CLOSE消息就可以了。 自己实现一个基于CDialog的的对话框类CMyDialog,里面添加进度条控件,当选择文件的对话框点击OK并返回以后,你可以创建2个线程:线程1:创建CMyDialog的对象a,然后设置父窗体的句柄为自己的应用程序主窗体,然后再a.DoModal().线程2:处理你的业务,根据业务进度定期发送自己定义的消息比如MSG_JOB_PROGRESS,第一个参数表示进度1-100,然后在上面的对话框中定义这个消息处理函数,主要负责根据进度信息来更新进度条。当收到进度为100时,表示任务已经完成,这身对话框就可以退掉了,比如运行CDialog::OnOK()。 LS先别急下结论,自己试试,不要以XX书上说的为依据。 怎么样让server一收到消息,就ListCtrl上显示出来呢? MFC中访问mysql出现奇怪的问题 线程同步的问题 求一段E文翻译 如何不用递归遍历二叉树?求解!!100分 简单问题:一个文本文件,怎样替换掉特定行的特定字符串? 请大家帮看看,下面的这题,我用下面的方法做的,出问题,请帮忙,谢谢谢,急急!!!!! 求救!!为什么XP系统下PROGRESS控件一刷新,整个项目界面都会颤抖?? Com中调用另一个COM的问题 请问SYSTEM(“CD DIR”)函数中STR可不可以为字符串变量,可以的话请问代码如何写 线程中调用出错 编译错误
点确定的时候hide主对话框,并且DoModal出你的小对话框...
估计你要考虑的应该是主对话框跟小对话框的数据通信问题...
用多线程的话 用UI线程简单点
自己写个类 继承CWinThread 然后在InitInstance里创建 在Run()里更新滚动
不过一样要考虑通信问题
可能我把问题也没有说太详细。
进度条的功能是显示计算的进程,计算完了之后还要在视图区。
我的大致流程是:
1,建立SDI。
2,点击菜单栏后出现一个对话框,选择一个文件出来。
3,点击确定后,有进度条的小对话框出现。
4,计算完成后,小对话框消失。
5,图形显示。
因此现在主要是通过多线程进行计算,进度条的显示。
谢谢大家这么快给我回复!
线程1:创建CMyDialog的对象a,然后设置父窗体的句柄为自己的应用程序主窗体,然后再a.DoModal().
线程2:处理你的业务,根据业务进度定期发送自己定义的消息比如MSG_JOB_PROGRESS,第一个参数表示进度1-100,然后在上面的对话框中定义这个消息处理函数,主要负责根据进度信息来更新进度条。当收到进度为100时,表示任务已经完成,这身对话框就可以退掉了,比如运行CDialog::OnOK()。