MFC 线程的创建,线程函数在类内、类外

摘要:
【线程创建】AfxBeginThread(类外线程函数,NULL);AfxBeginThread(类中的线程函数,(LPVOID)this);〔类外线程函数〕UINT函数名(LPVOIDpParam)//头文件声明UINTMyThreadA(LPVOID pParam

【线程的创建】

AfxBeginThread(类外的线程函数,NULL);

AfxBeginThread(类内的线程函数,(LPVOID)this);

【类外线程函数】

UINT 函数名(LPVOID pParam);//头文件中声明,放类外

UINT MyThreadA(LPVOID pParam) //cpp文件中具体实现
{

}

【类内线程函数】

static UINT 函数名(LPVOID pParam);//头文件中声明,放类内

UINT CMFCApplication5Dlg::MyThreadA(LPVOID pParam) //cpp文件中具体实现
{

}

【案例】IDC_OUTPUT_1——Static Text

UINT MyThreadA(LPVOID pParam)
{
    for (int i = 0; i <=100; i++)
    {
        SetDlgItemInt(AfxGetApp()->m_pMainWnd->m_hWnd, IDC_OUTPUT_1,i,false);//窗口句柄,具体控件ID
        Sleep(100);
    }
    return 0;
}
void CMFCApplication5Dlg::OnBnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码
    AfxBeginThread(MyThreadA,NULL);
}
 
UINT CMFCApplication5Dlg::MyThreadA(LPVOID pParam)
{
    CMFCApplication5Dlg* dlg = (CMFCApplication5Dlg*)pParam; //pParam是this
    for (int i = 0; i <=100; i++)
    {
        dlg->SetDlgItemInt(IDC_OUTPUT_1, i, false);
        Sleep(100);
    }
    return 0;
}
void CMFCApplication5Dlg::OnBnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码
    AfxBeginThread(MyThreadA, (LPVOID)this);//传入this指针
}

免责声明:文章转载自《MFC 线程的创建,线程函数在类内、类外》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Js基础知识4-函数的三种创建、四种调用(及关于new function()的解释)PHP迭代器模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

转载:MFC之MessageBox、AfxMessageBox用法

在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox; 2.调用CWnd的成员函数MessageBox; 3.调用全局函数AfxMessageBox; MFC中MessageBox的用法 一...

VC++ MFC子对话框建立与关闭

主窗体 void CMoshiwindowDlg::OnButton1() { // TODO: Add your control notification handler code here CDialogproty dlg; dlg.DoModal(); m_text.SetWindowText(dlg....

如何在MFC中使你的程序具有xp/win7风格(一)

首先在你的工程的 "res目录" 下建一个文件, 命名 windows.manifest 后缀为:.manifest 然后用记事本打开放入    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>   <assembly xmlns="urn:schemas-microsoft-...

【转】VC 模式对话框和非模式对话框的创建,销毁和区别

原文网址:http://blog.csdn.net/mycaibo/article/details/6002151 VC 模式对话框和非模式对话框的创建,销毁和区别  在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,...

VC项目配置基础 (VC6.0 和VC2005)

一.预处理宏 1. 通用宏 VC6.0中: Project Settingà C/C++à Preprocessor definitions VC2005中: 项目属性à 配置属性à C/C++à 预处理器定义 WIN32:指明是Window 32位系统的编译器,一般用作平台识别。 _MBCS/_UNICODE:指明该工程使用的字符集(多字节字符集/UN...

MFC程序自动生成dump Windbg文件

  在客户机器上如何得到应该程序的详细出错信息, 这里使用drwtsn32,在应用程序崩溃的时候自动将调用栈的信息以文件形式保存在磁盘。   生成dump有drwtsn32, NTSD,CDB等多种工具,drwtsn32 于系统自带。   在项目中使用以下几个步骤: 1. 创建minidmp.h   minidmp.h #pragma once#inc...