MFC如何在线程中实时刷新界面

本文详细介绍了三种在Windows编程中,如何在独立线程中安全地更新GUI控件(如编辑框)的文本,包括使用窗口句柄、控件句柄以及当前窗口对象,以确保线程安全。


//===================第1种在线程中更新界面的方式=================================
HANDLE thread1=CreateThread(NULL,0,xianchen,m_hWnd,0,NULL); //传入窗口句柄。m_hWnd

//线程中的代码
CfeizuobiaoDlg * pp=(CfeizuobiaoDlg * )CWnd::FromHandle((HWND)canshu); //通过窗口句柄得到窗口的对象指针
pp->GetDlgItem(IDC_EDIT4)->SetWindowTextW(_T("我是菜鸟?")); //通过窗口对象,更新界面


//===================第2种在线程中更新界面的方式===================
CWnd *hwnd = GetDlgItem(IDC_EDIT4); //得到控件句柄
HANDLE thread1=CreateThread(NULL,0,xianchen,hwnd,0,NULL); //传入得到的控件句柄。

//线程中的代码
CWnd *pp=(CWnd*)canshu;  //得到控件句柄。
pp->SetWindowTextW(_T("我是菜鸟。")); //显示


//===================第3种在线程中更新界面的方式=========================
HANDLE thread1=CreateThread(NULL,0,xianchen,this,0,NULL); //传入当前窗口的对象。

//线程中的代码
CfeizuobiaoDlg * pp=(CfeizuobiaoDlg * )canshu;  //直接得到窗口的对象
pp->GetDlgItem(IDC_EDIT4)->SetWindowTextW(_T("我是菜鸟!")); //显示
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值