用static 显示OnTimer 时间时,时间被重叠怎么办,代码如下?
解决方案 »
- 利用ATL写的插件,用到MFC,DEBUG版出错,AfxGetApp()为空
- 我的vc在输入一个对象并输入“.”后不会自动出现成员列表,怎么设置?
- SDI多视图和串口和数据库记录的问题
- 调用ActiveX控件处理事件的时候,怎样让VC自动帮我产生事件处理函数及其映射。
- 想弹出chm文件,用什么函数?ShellExecute 没有反应
- 在FreeBSD下如何实现隐藏IP。。。
- 关于Microsoft DataGrid Control的数据打印
- 求教:控件ID是什么? 在线等
- win7下:关于VS2008调式COM组件或者dll的问题!
- 请问如何初始化的时候就把对话框设置为最大化
- 请问如何对CPtrArray类对象初始化
- 关于结构的指针成员的初始化或赋值操作
{
char time[12];
if(nIDEvent==5)
{
SYSTEMTIME t;
GetLocalTime(&t);
wsprintf(time,"%02d-%02d-%02d %02d:%02d:%02d",t.wYear,t.wMonth,t.wDay,t.wHour,t.wMinute,t.wSecond);
m_Time.Format("%s %s",g_UserName,time);
UpdateData(FALSE);
}
CDialog::OnTimer(nIDEvent);
}
如果是的话,有两种方法,一是采用类的成员变量或成员变量,当然这可能和你的意图相悖.
二就是把给变量赋值的语句和声明语句放在一起,采用如static int a=0;的形式就会只赋一次值了.
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (nIDEvent == 1)
{
CTime Now = CTime::GetCurrentTime();
CString strDateTime;
strDateTime = Now.Format("当前时间:%Y-%m-%d %H:%M:%S"); GetDlgItem(ID_STATIC_TIME)->SetWindowText(strDateTime);
}
CDialog::OnTimer(nIDEvent);
}
2007-08-23 19:23:45
下一个时间是
2007-08-23 19:23:462007-08-23 19:23:45 并没有消失. 这两个时间只有 最后一位不一样.所以 6就重叠在5上面看起就重叠了
是正确的。
把它拉大一点.
可以在空间的caption属性中写一下xxxx-xx-xx xx:xx:xx确定大小
就不会出现时间值在一起的情况,(重叠)
出现在一起一般都是自己在控件的DC上TexOut等等。