如何用Visual C++制作一个可以获取电脑时间的程序?
CTime t = CTime::GetCurrentTime(); CString s; s。Format("%d-%d-%d %d:%d:%d",t。GetYear(), t。GetMonth(), t。GetDay(), t。
GetHour(), t。GetMinute(), t。GetSecond()); coutSetWindowText(sTime); SetTimer(1,1000,NULL); 回到窗体设计,右键单击窗体的空白处选ClassWizard。
Option ID选CTimeDlg(也可能是CTimeApp),Message里双击WM_TIMER,下面的列表能看到出现了OnTimer函数。点右边的代码编辑按钮编辑OnTimer函数。 原来那句不动,在那句上面加下面的代码: CTime t = CTime::GetCurrentTime(); CString sTime; sTime。
Format("%d-%d-%d %d:%d:%d",t。GetYear(), t。GetMonth(), t。GetDay(), t。GetHour(), t。GetMinute(), t。GetSecond()); ((CWnd *)GetDlgItem(IDC_STATIC))->SetWindowText(sTime); 其实就是对文本框赋值,跟上面大致一样。
再打开ClassWizard,选CTimeDlg,双击WM_DESTROY,并打开OnDestroy的编辑。添加一行代码: KillTimer(1); 程序完成,可以编译运行了。 =================== 要想前面加0可以在格式符中间用数字0加总长度的写法。
把Format里的 "%d-%d-%d %d:%d:%d" 改成 "%04d-%02d-%02d %02d:%02d:%02d" SetTimer里的第一个参数是为了KillTimer写的,KillTimer的作用是中止计时器。比如你想控制计时的开始和中止,就必须要用KillTimer,它的参数只有一个,带入的值就是SetTimer里的第一个参数。
第二个参数写成NULL的话在这个程序里表面看起来一样,但实际是每1毫秒都在执行OnTimer里的代码。本来每1秒执行一次就行了的,却要每毫秒都在刷新,给系统增加了不必要的负担。
答://看起来你是刚刚学习C++。我觉得新手还是学C#比较好。 我有一个n年前用过的CImage类,你可以参考。 使用时只需 CImage* img=new CIm...详情>>