关于线程,子窗口和主窗口的调用关系

violist 2010-11-02 03:54:54
我现在要做一个这样的界面
MainFrame里建立一个链表,链表通过读INI配置文件得到的,链表的节数ComNum每+1,子Dialog的Programm进度条就向前走1,当链表读完,主窗口要发一个结束事件给子窗口,让子窗口关闭,再显示主窗口。

我现在在MainFrm里的OnCreate函数中
调用1。读取ini文件的函数2。判断是否读到想要的ComNum,若读到,则显示ProgressDialog

我现在想的是,可以不可以在ProgressDialog里,
建立一个线程WaitForSingleObject等待一个事件
让程序读到INI文件里有数据时,ComNum++,SetEvent,这样等到一个Event,进度条就向前走1,
当内容读完的时候,发送一个结束事件,等到这个事件后,窗口关闭

我有几个疑问
1,子窗口的线程,如何等到主窗口的事件
2,进度条那个Dialog等到事件后,用什么命令关闭?
3,进度条里的初始化设置是在Init函数里,我应该建立个什么函数来进行之后的操作?如果都在初始化里进行那根本窗口都调不出来= =

对线程我比较小白。。。求达人们给点建议。
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
violist 2010-11-10
  • 打赏
  • 举报
回复
现在会了 谢谢大家
ermuzi 2010-11-02
  • 打赏
  • 举报
回复
可以在线程中调用SendMessage向进度显示窗发自定义消息,更新进度;处理完成后,发送WM_DESTROY消息给它就可以了。
violist 2010-11-02
  • 打赏
  • 举报
回复
大致的我是知道了,有没有相关的例子可以参考下,T T
hxingz 2010-11-02
  • 打赏
  • 举报
回复
建立一个用户界面线程,(新建一个MFC类继承自CWinThread)。ProgressDialog在该线程中显示,在该线程中设置一个event。
主线程new这个子线程,CreateThread开启线程,然后等待子线程的m_hThead,在等待期间读取ini,setevent,如果读完TerminateThread结束子线程。
子线程里面等待event,发生后移动进度条,resetevent

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧