VC怎样添加和调用timer控件?

VC怎样添加和调用timer控件?,第1张

vc不像VB并没有timer控件,如果想要添加一个定时器,只要调用SetTimer就可以了,具体用法可看MSDN,关掉就是KillTimer

例如:

SetTimer(1,1000,NULL)

KillTimer(1)

你再添加对WM_TIMER消息的映射函数OnTimer函数就可以了。

如果有问题HI我

秒表计时器的代码

#include

#include

#include

#include

struct

tm

//定义时间结构体,包括时分秒和10毫秒

{

int

hours,minutes,seconds

int

hscd

}time,tmp,total

//time用以计时显示,tmp用以存储上一阶段时间,total记总时间

int

cnt

file*

fout

//每次调用update函数,相当于时间过了10ms

void

update(struct

tm

*t)

{

(*t).hscd++

//10ms单位时间加1

cnt++

if

((*t).hscd==100)

//计时满1s,进位

{

(*t).hscd=0

(*t).seconds++

}

if

((*t).seconds==60)

//计时满一分,进位

{

(*t).seconds=0

(*t).minutes++

}

if

((*t).minutes==60)

//计时满一小时,进位

{

(*t).minutes=0

(*t).hours++

}

if((*t).hours==24)

(*t).hours=0

//delay()

sleep(10)

//sleep是windows提供的函数,作用是暂停程序,单位毫秒,所以此处暂停10ms

}

void

display(struct

tm

*t)

{

//此处输出计时结果,\r为回车不换行,既一直在同一行更新时间

printf("%d:",(*t).hours)

printf("%d:",(*t).minutes)

printf("%d:",(*t).seconds)

printf("%d\r",(*t).hscd)

//printf("now,

press

‘e’

key

to

stop

the

clock…")

}

void

time_init()

//初始化时间

{

time.hours=time.minutes=time.seconds=time.hscd=0

}

void

get_total()

//计算总时间

{

total.hscd

=

cnt

%

100

cnt

/=

100

total.seconds

=

cnt

%

60

cnt

/=

60

total.minutes

=

cnt

%

60

cnt

/=

60

total.hours

=

cnt

}

int

main()

{

char

m

time_init()

cnt

=

0

fout

=

fopen("timeout.txt","w")

printf("按回车键开始计时!\n")

while(1)

{

m

=

getch()

if(m

!=

‘\r’)

//读入一个输入,如果是回车,那么跳出次循环

printf("输入错误,仅能输入回车键!\n")

else

break

}

printf("已经开始计时,但是你可以按回车键以分段计时!\n")

while(1)

{

if(kbhit())

//此处检查是否有键盘输入

{

m=getch()

if(m

==

‘\r’)

//如果等于回车,那么计时结束,跳出循环

break

else

if(m

==

‘)

//如果等于空格,显示此次计时,初始化计时器

{

tmp

=

time

//记录上一段计时器结果

fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd)

//写入文件

time_init()

printf("\n")

}

else

{

printf("输入错误,仅支持输入回车键或者空格键!\n")

}

}

update(&time)

//更新计时器

display(&time)

//显示计时器时间

}

tmp

=

time

//输出最后一次即使结果,写入文件

fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd)

get_total()

//计算总的时间,显示,并写入文件

printf("\n总时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd)

fprintf(fout,"统计时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd)

fclose(fout)

printf("已经保存到当前目录下的timeout.txt文件中按任意键结束!")

getch()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11412880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存