- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC七种延时方法
VC++七种延时方法:
一、
1:在头文件*.h中定义一个非零的定时器句柄:
int timer1;
2:在*.cpp文件的构造函数中初始化句柄:
timer1=1;
3:首先调用函数SetTimer()设置定时间隔
void CMulti_TimerDlg::OnButtonTime1()
{
int iInstallReFlag;
iInstallReFlag=SetTimer(timer1,100,NULL);//定时100ms
if(iInstallReFlag==0)
{
MessageBox(Can not install timer!);
}
}
4:在应用程序中增加定时响应函OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作;
如完成Sum每隔100ms自加1次,一共自加100次:
void CMulti_TimerDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==(UINT)timer1) //即添加定时时间到的处理操作
{
Sum++;
SetDlgItemInt(IDC_EDIT1,Sum,true);
if(Sum==100)
{
KillTimer(timer1);
MessageBox(Sum每隔100ms自加1次,一共自加100次已完成!);
Sum=0;
}
}
CDialog::OnTimer(nIDEvent);
}
二、使用sleep函数实现延时,在程序需要延时的地方加入如下代码即可:
Sleep(n);//其中n为延时的时间,单位为ms
三、
1:利用COleDateTime类和COleDateTimeSpan类来实现秒级延时:
在程序需要延时的地方添加如下代码即可:
void CMulti_TimerDlg::OnButtonTime3()
{
COleDateTime start_time = COleDateTime::GetCurrentTime();
COleDateTimeSpan end_time = COleDateTime::GetCurrentTime()-start_time;
while(end_time.GetTotalSeconds() 2) //实现延时2秒
{
end_time = COleDateTime::GetCurrentTime()-start_time;
}
}
2: 利用COleDateTime类和COleDateTimeSpan类来实现秒级定时器:
a:在头文件中自定义定时器时间到响应消息 #define WM_UPDATETIME1 WM_USER+1000
b:在头文件中声明WM_UPDATETIME1 消息的响应函数OnUpdateTime1()
//{{AFX_MSG(CMulti_TimerDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonTime1();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnButtonTime2();
afx_msg void OnButtonTime3();
afx_msg void OnButtonTime4();
afx_msg void OnButtonTime31();
afx_msg void OnButtonTime41();
afx_msg void OnButtonTime5();
afx_msg void OnButtonTime51();
afx_msg void OnButtonTime6();
afx_msg void OnButtonTime7();
afx_msg void OnButtonTime71();
afx_msg void OnButtonTime72();
afx_msg void OnButtonTime73();
afx_msg void OnAbout();
afx_msg void OnButtonTime61();
//}}AFX_MSG
void OnUpdateTime1();
DECLARE_ME
文档评论(0)