MFC直接用AfxBeginThread(ThreadProc,this)创建线程实例(免费源码下载)

该文章描述了如何在MFC应用程序中创建一个线程,线程函数动态更新编辑框控件显示当前系统时间。通过AfxBeginThread启动线程,线程内部调用成员函数My_Func每秒更新编辑框内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建一个Therad名称的对话框文件,对资源视图上拖一个编辑框控件.程序运行后线程函数调用系统时间在编辑框上显示.
1、线程函数的声明:
在dlg头文件中定义工作者线程函数静态函数、线程要调用dlg类的成员函数My_Func();

 CWinThread* pThread; //声明定义一个线程类指针
   static UINT My_TheradFunc(LPVOID lparam);
   void My_Func();

2、线程函数的创建(启动):
在dlg类的OnInitDialog函数中生成线程;

pThread = AfxBeginThread(My_TheradFunc,(LPVOID)this);//用AfxBeginThread获得线程指针

3、线程函数的定义:
将窗口指针赋给无类型指针,线程调用dlg类定义的成员函数

    UINT CTheradDlg::My_TheradFunc(LPVOID lparam)//将窗口指针赋给无类型指针 
{
 
     CTheradDlg *dlg = (CTheradDlg*)lparam;   //可以调用CTheradtDlg定义的类成员函数 
     CTime tm; 
     tm=CTime::GetCurrentTime(); 
     CString start_time,finish_time; 
     start_time=tm.Format("Start_Test:%Y%m%d-%H:%M:%S");  //获取开始时间        
    while (1)
	{
		dlg->My_Func(); //线程要执行的函数(调用CTheradtDlg定义的类成员函数)		
	}
 return TRUE;     
}

4、线程要处理的函数:

void CTheradDlg::My_Func() //处理函数在这里写
{
CTime tm; 
tm=CTime::GetCurrentTime(); 
CString start_time,finish_time; 
start_time=tm.Format("Start_Test:%Y%m%d-%H:%M:%S");  //获取开始时间
SetDlgItemText(IDC_EDIT1,start_time);
Sleep(1000);
}

在这里插入图片描述
免费源码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兵哥工控

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值