- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC++入门实例_制作计时器——巧用定时器函数.doc
Visual C++入门实例_制作计时器——巧用定时器函数 制作计时器——巧用定时器函数在前面讲到进度条控件的使用时,曾经用到 WM_TIMER 消息及其相应的几个函数。在本实例中将利用 SetTimer、OnTimer 和 KillTimer 这三个函数实现可调节计时器程序。 本实例编写的计时器有倒计时和正常计时两种计时方式,还可以水平滑块调节计时的快慢。如果需要在计时结束时发出声音提示,可以选中复选框开启蜂鸣器响功能,如图 4.49 所示。
?
图 4.49 定时器程序运行界面 1. 三个与时间有关的函数 SetTimer、OnTimer 和 KillTimer SetTimer 函数开启一个定时器,定义如下:
UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)( HWND, UINT, UINT, DWORD) );
nIDEvent 是定时器的标识符,nElapse 是定时器触发周期,单位是百万分之一秒,最后一个参数常设为 NULL。每个触发周期结束,定时器都会发出 WM_TIMER 消息。 OnTimer 是 WM_TIMER 的消息响应函数,定义如下: void CEx17Dlg::OnTimer(UINT nIDEvent);
nIDEvent 用于判别是哪个定时器发出的 WM_TIMER 消息。 KillTimer 函数关闭一个定时器,定义如下: BOOL KillTimer(UINT nIDEvent);
nIDEvent 用于判别关闭哪个定时器。 2. 创建一个基于对话框的工程 (01)打开菜单“File→New”,弹出新建(New)对话框。 (02)在工程(Projects)选项卡中选择“MFC AppWizard(exe)”,在右边的工程名(Project Name)栏中输入“ex17”,在路径(Location)栏选择工程路径,然后单击确认(OK)按钮。 (03)在弹出的 MFC 应用程序向导(MFC AppWizard)对话框中选择应用程序类型为对话 框(Dialog Based)类型,然后单击下一步(Next)按钮。 (04)在对话框的下方的输入对话框标题(Please enter a title for your dialog)栏输入“定时 器”覆盖掉“ex17”,其余保留默认配置,如图 4.50 所示。单击结束(Finish)按钮。
??
图 4.50 设定 ex1 7 工程对话框的标题 (05)在弹出的新建工程信息(New Project Information)对话框中将显示工程的所有设置信 息,单击确认(OK)按钮创建新工程。 3. 向对话框添加新的资源 (06)将 Workspace 窗口切换至资源查看(ResourceView)选项卡,展开选项卡中的对话框 (Dialog)选项,双击 ID 为 IDD_EX17_DIALOG 的项目,在右边窗格中显示出该对话框资源。按照 4
.1.2 中的方法,在对话框上添加资源,如图 4.51 左图所示。为了方便查找相应的控件,我们将工具箱的图放在图 4.51 右侧。
(07)根据表 4.13 修改控件 ID 和说明文字(Caption),具体操作请参照“热身训练”。
表 4.13 对话框资源 IDD_EX17_DIALOG 控件 ID 及说明文字修改结果 4. 向对话框类 CEx17 添加成员函数和成员变量 先利用类向导(ClassWizard)向对话框类 CEx17Dlg 添加控件对应的成员变量和消息响 对话框资源 修改后的 ID 说明文字静态文本 1 IDC_TIME1 无 静态文本 2 IDC_TIME2 无 文本编辑框 1 IDC_EDIT1 无 文本编辑框 2 IDC_EDIT2 无 单选按钮 1 IDC_RADIO1 倒计时 单选按钮 2 IDC_RADIO2 正常计时 复选框 IDC_CHECK1 蜂鸣器响 按钮 1 IDC_CLEAR 重新计时 按钮 2 IDC_START 开始计时 滑块 IDC_SLIDER1 无 其他控件 IDC_STATIC 如图 4.38 所示应函数。 (08)打开菜单“View→ClassWizard”,弹出类向导(ClassWizard)对话框。 (09)将对话框切换至消息映射(Message Maps)选项卡,根据表 4.14 添加消息响应函数, 具体操作请参照“热身训练”。 表 4.14 向对话框类 CEx17Dlg 添加消息响应函数
(10)将对话框切换至成员变量(Member Var
文档评论(0)