今天有个同事谈到了实时显示MFC的EDIT控件,我想了下,只能添加线程才能完成这个目标。但线程中不能使用Updatedata函数。
想到两个解决方案,
1. 发送消息,把线程中的数据发送到主线程进行实时显示(我没试,但肯定可以实现)。
2. 使用getDlgItem通过ID来显示数据。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19unsigned int _stdcall CtestThreadDlg::ThreadFun(LPVOID pParam) { CtestThreadDlg *Dlg = (CtestThreadDlg *)pParam; while(Dlg->m_iNum<200000) { //发消息 char sz[100]=""; Dlg->ShowData(); CString temp; temp.Format("%d", Dlg->m_iNum); Dlg->GetDlgItem(IDC_EDIT_NUM)->SetWindowTextA(temp/*itoa(Dlg->m_iNum, sz, 10)*/); } return 0; } void CtestThreadDlg::ShowData() { m_iNum++; }
最后
以上就是勤恳高山最近收集整理的关于实时刷新MFC的EDIT控件的全部内容,更多相关实时刷新MFC内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复