本文主要是介绍MFC终止线程实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本程序基于前期我的博客文章《MFC用信号灯模拟工控机数字量输入信号实时采集实例(源码下载》
1、在主界面添加一个启动线程按钮,一个终止线程按钮。
2、在TheradDlg.h中相关代码
class CTheradDlg : public CDialog
{
// Construction
public: ... CTheradDlg(CWnd* pParent = NULL); // standard constructor CWinThread* pThread; bool isThreadBegin ; //线程退出/执行控制void My_Func();static UINT My_TheradFunc(LPVOID lparam);...}
3、在TheradDlg.cpp中相关代码
void CTheradDlg::OnButton1()
{
isThreadBegin = true; //运行线程执行
pThread = AfxBeginThread(My_TheradFunc,(LPVOID)this);}void CTheradDlg::OnButton2()
{
isThreadBegin = false; //停止线程执行
}UINT CTheradDlg::My_TheradFunc(LPVOID lparam)//将窗口指针赋给无类型指针{CTheradDlg *dlg = (CTheradDlg*)lparam; //可以调用CTheradtDlg定义的类成员函数while (dlg-> isThreadBegin){dlg->My_Func(); //线程要执行的函数(调用CTheradtDlg定义的类成员函数)}return TRUE;}
运行程序
这篇关于MFC终止线程实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!