之前在程序中添加多个定时器,参照博客:MFC中使用多个timer定时器 SetTimer函数的用法,采用多个定时器进行控制,此次采用一个定时器,来操作
首先思考的是,在捕捉到第一个播放画面时候,开始计时,开启定时器
case 2:
{
CString videtime;
if (0 == resetvidetime)
{
mm = 0; ss = 0; mss = 0;//mss-毫秒,ss-秒,mm-分
//videtime.Format(_T("%02d:%02d:%02d"), mm, ss, mss);//mss-毫秒,ss-秒,mm-分
//SetDlgItemText(IDC_TimePicture, videtime);
KillTimer(N_TIMER_SEC);//要在这里销毁定时器,这样当点击"结束按钮"会定在这个位置-也就是不发生计时
resetvidetime = 1;
}
if (mss == 100){ mss = 0; ss++; }
if (ss == 60){ ss = 0; mm++; }
videtime.Format(_T("%02d:%02d:%02d"), mm, ss, mss);//mss-毫秒,ss-秒,mm-分
SetDlgItemText(IDC_TimePicture, videtime);
UpdateData(FALSE);
mss++;
}
break;
然后在点击“开始”选进来视频文件后,该按钮变成“结束”按钮,需要点击这个“结束”按钮时候,计时归0,则
之后,还需要在播放结束后,计时归0
还可以在“继续/停止”按钮,实现点击停止,归0,切换为“继续”按钮,点击后,继续重新计时,但是我想是,点击继续能够继续沿着之前时间计时,不知道怎么去弄,知道的,大神可以告知一下,万分感谢