游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6217|回复: 6

SetTimer()和KillTimer()分别起什么作用?

[复制链接]

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
发表于 2007-12-25 11:01:00 | 显示全部楼层 |阅读模式
SetTimer()和KillTimer()__定时器
什么情况下用这两个函数,能达到什么目的?
谢谢先

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2007-12-26 15:18:00 | 显示全部楼层

Re:SetTimer()和KillTimer()分别起什么作用?

向窗口发WM_TIMER消息,比如你想做个电子表,就设个1000毫秒的Timer,收到WM_TIMER消息就刷新一下显示.
查查MSDN

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2007-12-26 22:10:00 | 显示全部楼层

Re:SetTimer()和KillTimer()分别起什么作用?

The SetTimer function creates a timer with the specified time-out value.

看不懂这句的意思

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2007-12-27 10:47:00 | 显示全部楼层

Re:SetTimer()和KillTimer()分别起什么作用?

就是创建一个计时器,你设定一个时间间隔,比如500毫秒,那么你每隔500毫秒就会收到一个WM_TIMER消息,KillTimer就简单了,告诉系统别再发这个消息了

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2007-12-27 12:12:00 | 显示全部楼层

Re:SetTimer()和KillTimer()分别起什么作用?

这就象电台里报时一样,每隔一个小时报时一次.而SetTimer()是每隔某个时间就发一个消息.至于发什么消息,时间间隔是多少由程序来定?
KillTimer()用来取消这种行为---SetTimer()?

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2007-12-27 13:30:00 | 显示全部楼层

Re:SetTimer()和KillTimer()分别起什么作用?

UINT_PTR SetTimer(
    HWND hWnd, //窗口句柄,这个窗口的消息处理函数会收到该计时器的WM_TIMER消息
    UINT_PTR nIDEvent, //计时器的ID,你可以设多个计时器,处理WM_TIMER消息时用这个来区分
    UINT uElapse, //时间间隔,单位是毫秒
    TIMERPROC lpTimerFunc //回调函数,一般使用消息时这个填NULL
);

时间间隔是程序来定的,消息就是WM_TIMER,不同的计时器用nIDEvent来区分,WM_TIMER的WPRARM参数就是nIDEvent的值,KillTimer也是用这个nIDEvent来取消该计时器。

至于返回值有什么用,什么时候用TIMERPORC,hWnd为NULL会怎么样,还有计时精度这些就先别管了。
也就像我这样比较无聊,复杂问题又答不上来的人才会针对SetTimer说这么多

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2007-12-27 23:13:00 | 显示全部楼层

Re: Re:SetTimer()和KillTimer()分别起什么作用?

ljm: Re:SetTimer()和KillTimer()分别起什么作用?

也就像我这样比较无聊,复杂问题又答不上来的人才会针对SetTimer说这么多

可别这么说.
谢谢你.我觉得你非常热情.
有您这样的人的支持我一定要学好.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-18 07:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表