我用的单文档,想在一个分割视图CEditEx类中显示系统时间,这段代码不是我写的,我想在上面加几句然后把这个时间显示出来。怎么做?注释是我查的,我是个菜鸟啊!!pEdit是头文件中定义的一个CEdit类的一个指针。求大神帮忙啊,急啊!!
void CEditEx::PrintOperateMessag(CString str)//***加入日期和时间字符串,写入文本编辑控件?????
{
CString strPrintMessage;//*********CString 数据类型方便字符串的连接
strPrintMessage.Empty();//**使字符串为空
CTime tm; //*****把日期和时间转换为字符串
tm=CTime::GetCurrentTime();//********************获取系统当前日期和时间。返回表示当前日期和时间的CTime对象。
strPrintMessage=tm.Format("%X ");//调用这个成员函数来创建一个格式化日期/时间值的表示
strPrintMessage+=str;
strPrintMessage+="\r\n";
pEdit->SetSel(-1,-1); //将插入光标放在最后 ----调用这个函数在一个编辑控件中选择一定范围的字符。(-1,-1)任何当前选定内容被去掉选定状态。????
pEdit->ReplaceSel(strPrintMessage); //填入内容---调用这个函数来代替当前的选择在一个与lpszNewText指定的文本编辑控件中
pEdit->LineScroll(pEdit->GetLineCount(),0); //滚动到插入点--调用这个函数来滚动multiple-line编辑控件的文本。--调用这个函数检索行数
}
该回答引用ChatGPT
要将系统时间显示在CEdit控件中,您可以使用CTime类来获取当前时间并将其转换为CString类型的字符串,然后使用CEdit类的SetWindowText函数将其设置为CEdit控件的文本。
以下是一个示例代码片段,它将当前时间显示在CEdit控件中:
CString strTime;
CTime tm = CTime::GetCurrentTime();
strTime = tm.Format("%Y-%m-%d %H:%M:%S"); // 格式化时间字符串
pEdit->SetWindowText(strTime); // 设置CEdit控件的文本为时间字符串
您可以在您的PrintOperateMessag函数中添加这些代码,以便在每次调用该函数时都显示当前时间。例如:
void CEditEx::PrintOperateMessag(CString str)
{
CString strPrintMessage;
strPrintMessage.Empty();
CTime tm = CTime::GetCurrentTime();
strPrintMessage = tm.Format("%X ");
strPrintMessage += str;
strPrintMessage += "\r\n";
pEdit->SetSel(-1,-1);
pEdit->ReplaceSel(strPrintMessage);
pEdit->LineScroll(pEdit->GetLineCount(),0);
// 添加以下代码以将当前时间显示在CEdit控件中
CString strTime;
strTime = tm.Format("%Y-%m-%d %H:%M:%S");
pEdit->SetWindowText(strTime);
}
这将在每次PrintOperateMessag函数被调用时,向CEdit控件中添加一个带有时间戳的文本,并在CEdit控件的顶部显示当前时间。