MFC的编辑框内容可以动态更新吗? 我用编辑框控件显示系统时间,想让它随时间变化自动更新,该怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC的编辑框内容可以动态更新吗? 我用编辑框控件显示系统时间,想让它随时间变化自动更新,该怎么做?相关的知识,希望对你有一定的参考价值。

//获取系统时间并显示

CTime t = CTime::GetCurrentTime();
CString strTime ;
strTime =t.Format( "%H:%M:%S ");
GetDlgItem(IDC_EDIT_TIME)->SetWindowText(strTime);
//这样写了运行时显示不出时间

void CSystemAlarmClockDlg::OnTimer(UINT nIDEvent)

// TODO: Add your message handler code here and/or call default
if(1==nIDEvent)

//获取系统时间并显示

CTime t = CTime::GetCurrentTime();
CString strTime ;
strTime =t.Format( "%H:%M:%S ");
GetDlgItem(IDC_EDIT_TIME)->SetWindowText(strTime);
UpdateData(FALSE);

CDialog::OnTimer(nIDEvent);

参考技术A 开启定时器: SetTimer(1,1000);
ClassWizard 实现对话框OnTimer函数,并在里面写入:
if(1==nIDEvent)

//你上面的代码
UpdateData(FALSE);

追问

我上面的代码是在对话框初始函数里写的,把代码移到OnTimer后运行显示不了啊

追答

推荐可以继续回答了?这个改的好,麻烦了很多天了,呵呵。

断点跟踪一下吧,只要断点进入if里面,应该没问题的。你可以是ID没有对应,或者定时器没有匹配?

追问

搞定了,
UpdateData(FALSE)要写为
UpdateData(TRUE);才行

本回答被提问者和网友采纳
参考技术B TIME 消息响应 里面做更新处理

MFC中的Eidt控件怎样才能实时显示更新的内容?

比如我已经用代码读取了某款游戏的窗口句柄,游戏进程等等一些信息。我用一个按钮和一个编辑框,点击按钮才能能获取到人物的血值和人物等级,能不能不用按钮,打开游戏让编辑框中直接显示出来?要用到什么控件?代码怎么写?说白了就是把游戏中的血值或者是剩余经验之类的数据实时更新到编辑框中。

参考技术A 初始化函数里面做呗,你对话框没有初始化么,在初始化的时候就加载。
或者放一个进程不断去扫描(时间差大点,做到事实显示)。

以上是关于MFC的编辑框内容可以动态更新吗? 我用编辑框控件显示系统时间,想让它随时间变化自动更新,该怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

MFC中的Eidt控件怎样才能实时显示更新的内容?

mfc中,怎么把一个窗口的编辑框内容调用到另一个窗口的控件里

请教MFC中如何循环处理相同类型的控件,如编辑框之类的?

MFC控件编程之 按钮编辑框.静态文本的使用

mfc c++ 从编辑控件更新文本文件

mfc中如何设置编辑框\按钮的外观