MFC用户界面多线程实例2

本文详细介绍了MFC中用户界面线程的创建、管理及消息处理,包括从CWinThread派生类、两种创建方法、消息队列的区别以及ON_MESSAGE和ON_THREAD_MESSAGE的使用。强调了在多线程环境下,每个线程对象实例的消息栈不共享,不适合动态创建多个线程。退出线程时,发送WM_QUIT消息。
摘要由CSDN通过智能技术生成

         以下是 MFC 用户界面线程相关知识                    

由于用户界面线程含有自己的消息循环,可以出来 Windows 消息,并可创建和管理诸如窗口和控件等用户界面元素。因此,这种线程较工程线程更为复杂。

创建用户界面线程的起点是从 MFC 的 CWinThread 类派生一个定制的线程类,而不是调用 AfxBeginThread() 函数。定制的线程类必须重载 InitInstance() 函数,该函数用来执行初始化任务,在创建线程时系统将调用 InitInstance() 函数。最好还要重载 ExitInstance() 函数,该函数是 InitInstance() 函数的对应, MFC在删除线程对象之前会调用 ExitInstance() 函数,以便线程能够在结束后清除自身。

用户界面线程的创建有两种方法:
方法一:首先从 CWinThread 类派生一个类(必须要用宏 DECLARE_DYNCREATE 
和 IMPLEMENT_DYNCREATE  对该类进行声明和实现),然后调用 AfxBeginThread() 创建 CWinThread 派生类的对象进行初始化,启动线程运行。

方法二:先通过构造函数创建派生类 CWinThread 的一个对象,然后由程序员调用函数 ::CreateThread 来启动线程。通常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值