//===================第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("我是菜鸟!")); //显示
MFC如何在线程中实时刷新界面
于 2023-12-10 18:46:45 首次发布
本文详细介绍了三种在Windows编程中,如何在独立线程中安全地更新GUI控件(如编辑框)的文本,包括使用窗口句柄、控件句柄以及当前窗口对象,以确保线程安全。
1023

被折叠的 条评论
为什么被折叠?



