VC中定时器设置
来源:互联网 发布:七彩网络下载 编辑:程序博客网 时间:2024/05/19 23:01
本文简单介绍下VC中定时器设置。
首先,新建对话框应用程序,然后添加几个操作按钮。
定义相关变量
private:int m_nValue;DWORD m_dwTimeStarted;LARGE_INTEGER m_cupHZ;LARGE_INTEGER m_StartCount;
源文件
void CTimeCountDlg::OnTimer(UINT nIDEvent) {UpdateData(TRUE);switch(nIDEvent){case 1:{m_nValue+=1000;m_sValue1.Format("%d",m_nValue);}break;case 2:{double dbTime = 0;dbTime = (::GetTickCount() - m_dwTimeStarted)*1.0;m_sValue2.Format("%f",dbTime);}break;case 3:{double dbTime = 0;MSG msg;UINT LFactor = 1000;while(::GetTickCount() - m_dwTimeStarted < 3*LFactor){if (PeekMessage(&msg,0,0,0,PM_REMOVE)){TranslateMessage(&msg);DispatchMessage(&msg);}}dbTime = (::GetTickCount() - m_dwTimeStarted)*1.0;m_sValue3.Format("%f",dbTime);}break;case 4:{UINT LFactor = 1000;double dbTimestamp = 0;LARGE_INTEGER CurCount;QueryPerformanceCounter(&CurCount);CurCount.QuadPart = CurCount.QuadPart - m_StartCount.QuadPart;dbTimestamp = double(CurCount.QuadPart)*LFactor;dbTimestamp = dbTimestamp/double(m_cupHZ.QuadPart);m_sValue4.Format("%f",dbTimestamp);}break;default:break;}UpdateData(FALSE);CDialog::OnTimer(nIDEvent);}void CTimeCountDlg::OnButton1() {m_nValue = 0;SetTimer(1,1000,NULL);KillTimer(2);KillTimer(3);KillTimer(4);}void CTimeCountDlg::OnButton2() {m_dwTimeStarted = ::GetTickCount();SetTimer(2,1000,NULL);KillTimer(1);KillTimer(3);KillTimer(4);}void CTimeCountDlg::OnButton3() {m_dwTimeStarted = ::GetTickCount();SetTimer(3,1000,NULL);KillTimer(1);KillTimer(2);KillTimer(4);}void CTimeCountDlg::OnButton4() {QueryPerformanceFrequency(&m_cupHZ);m_StartCount.QuadPart = 0;QueryPerformanceCounter(&m_StartCount);SetTimer(4,1000,NULL);KillTimer(1);KillTimer(2);KillTimer(3);}
运行效果
总结:
按钮一:直接使用定时器操作
按钮二:获取操作系统运行时间,然后相减,立即开始
按钮三:获取操作系统运行时间,然后相减,*s内运行或者*s后开始
按钮四:查询定时器计数值
源码下载
0 0
- VC中定时器设置
- VC中定时器用法
- vc中定时器的使用
- vc中定时器的使用
- VC中定时器的使用
- VC中定时器的使用
- VC中定时器的使用
- vc中定时器的使用
- VC中定时器的应用
- vc中定时器的使用
- vc中定时器的使用
- VC++中定时器的使用
- vc中定时器并非多线程
- vc中定时器并非多线程
- VC中定时器的使用
- VC中定时器的使用
- vc中定时器并非多线程
- VC/MFC 定时器设置及OnTimer使用
- codeforces 18B Platforms
- ubuntu中文编码配置
- 安卓实现动态加载class
- sleep,wait和yield的区别
- js的沙箱模式
- VC中定时器设置
- 腾格里沙漠部分污染地被填埋 记者采访被限自由
- Container With Most Water--LeetCode
- hdu 1247 Hat’s Words(dfs+trie)
- iOS基础控件之UISegmentedControl
- 字符串模式匹配之Brute force、KMP、Horspool算法
- 【Financial Markets】5. Trading strategy (1)
- Android gc垃圾回收研究学习
- 【LeetCode从零单排】No133. clon graph (BFS广度优先搜索)