设为首页 加入收藏

TOP

计时器(八)
2010-12-30 21:12:14 来源: 作者: 【 】 浏览:16580
Tags:计时器
ws函式。CreateDialog和DialogBox函式(将在第十一章中介绍)使用callback函式处理对话方块中的讯息;有几个Windows函式(EnumChildWindow、EnumFonts、EnumObjects、EnumProps和EnumWindow)把列举资讯传递给callback函式;还有几个不那么常用的函式(GrayString、LineDDA和SetWindowHookEx)也要求callback函式。

像视窗讯息处理程式一样,callback函式也必须定义为CALLBACK,因为它是由Windows从程式的程式码段呼叫的。callback函式的参数和callback函式的传回值取决於callback函式的目的。跟计时器有关的callback函式中,输入参数与视窗讯息处理程式的输入参数一样。计时器callback函式不向Windows传回值。

我们把以下的callback函式称为TimerProc(您能够选择与其他一些用语不会发生冲突的任何名称),它只处理WM_TIMER讯息:

TimerProc的参数hwnd是在呼叫SetTimer时指定的视窗代号。Windows只把WM_TIMER讯息送给TimerProc,因此讯息参数总是等於WM_TIMER。iTimerID值是计时器ID,dwTimer值是与从GetTickCount函式的传回值相容的值。这是自Windows启动後所经过的毫秒数。

在BEEPER1中已经看到过,用第一种方法设定计时器时要求下面格式的SetTimer呼叫:

您使用callback函式处理WM_TIMER讯息时,SetTimer的第四个参数由callback函式的位址取代,如下所示:

我们来看看一些范例程式码,这样您就会了解这些东西是如何组合在一起的。在功能上,除了Windows发送一个计时器讯息给TimerProc而非WndProc之外,程式8-2所

首页 上一页 5 6 7 8 9 10 11 下一页 尾页 8/27/27
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇子视窗控制项 下一篇滑鼠

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: