倒计时器代码!求高人指点!看看!

sticktothelast 2011-02-26 10:03:23
SYSTEMTIME systime;

GetSystemTime(&systime);
// GetLocalTime(&systime);//获取本地时间
// sprintf(buf, "%d:%d:%d", systime.wHour,systime.wMinute,systime.wSecond);

// SetTimer(hWnd,1,1000,NULL);
// MessageBox(hWnd,"定时器设置成功","ok",MB_OK);
// buf = systime.wHour;
char buf[11];
char destRs[20];
hdc = GetDC(hWnd);
int year=0;
int month=0;
int day=0;
int hour=0;
int min=0;
int sec=20;
for(;sec >=0; --sec){

/* buf1[sec] = i;*/


/* GetTimeFormat(NULL,0,NULL, L"00':'00':'i", buf1, sizeof(buf1));
TextOut(hdc,100,100,buf,sizeof(buf1));*/
sprintf(destRs,"%4d-%2d-%2d %2d:%2d:%2d",year,month,day,hour,min,sec);
TextOut(hdc,100,100,destRs,sizeof(destRs));
SetTimer(hWnd,1,1000,NULL);

}

GetTimeFormat(LOCALE_USER_DEFAULT,0,&systime, "hh':'mm':'ss", buf, sizeof(buf));
TextOut(hdc,50,50,buf,sizeof(buf));

ReleaseDC(hWnd,hdc);
}
}
break;
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rover___ 2011-03-12
  • 打赏
  • 举报
回复
TimerProc哪里去了?也没见WM_TIMER消息处理啊。

既然用了:
SetTimer(hWnd,1,JIANGE,NULL);
那么应该case 一下WM_TIMER吧;
所谓倒计时:试着设置一个外部变量N,从N一次减一去倒计时,直到0.
那么就只要在你的:case :WM_TIMER里面N--;就可以了。计时的间隔设成JIANGE,比如1000就是1秒。。。
yiyefangzhou24 2011-02-26
  • 打赏
  • 举报
回复
什么意思?
delphiwcdj 2011-02-26
  • 打赏
  • 举报
回复
什么问题,完整代码

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧