zoukankan      html  css  js  c++  java
  • MFC创建线程示例

    MFC创建线程示例

    AfxBeginThread()

    创建现场的方法是AfxBeginThread()函数。

    在【.CPP】文件定义一个全局变量,决定什么时候退出这个线程。

    BOOL g_bWillExit=FALSE;
    

    拖一个BUTTON按钮控件,【创建线程】(IDC_BUTTON_THREAD),绑定单击事件函数。

    void CmyfirstmfcDlg::OnBnClickedButtonThread()
    {
    	g_bWillExit = FALSE;
    
    	AfxBeginThread((AFX_THREADPROC)ThreadFunc, (LPVOID)this);  // this是主对话框的指针
    
        // 创建线程BUTTON按钮控件 禁止点击
    	CButton *pButton = (CButton *)GetDlgItem(IDC_BUTTON_THREAD);
    	pButton->EnableWindow(FALSE);
    	// TODO: Add your control notification handler code here
    }
    

    回调函数

    
    DWORD WINAPI ThreadFunc(PVOID param)
    {
    	while(g_bWillExit == FALSE)
    	{
    		if(MessageBox(NULL,_T("退出线程吗?"),_T("这是线程"),MB_YESNO)==IDYES)
    		{
    		    // 创建线程BUTTON按钮控件 开启点击
    			CmyfirstmfcDlg *pDlg = (CmyfirstmfcDlg*)param; //获取主对话框指针
    			CButton *pButton = (CButton *)pDlg->GetDlgItem(IDC_BUTTON_THREAD); //主界面的按钮
    			pButton->EnableWindow(TRUE);
    
    			break;
    		}
    		
    	}
    	return 0;
    }
    
    

    退出线程

    //线程退出
    OnClose()
    {
    	g_bWillExit = TRUE;
    }
    
  • 相关阅读:
    古代汉语:含义“死”的归类
    Inesa 路由器登录信息
    调试第三方源码
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业:《大道至简》读后感
    暑假作业日总结
  • 原文地址:https://www.cnblogs.com/17bdw/p/10354929.html
Copyright © 2011-2022 走看看