MFC中OnTimer定时器用法

2023-11-04

一、     单个定时器用法

定时器工作主要流程:设置定时器SetTimer,时间到后调用OnTimer函数,关闭定时器KillTimer。可以在程序初始化用SetTimer函数弄成多个线程类似,并行进行多个函数功能。

1.1 SetTimer(H,nID,elipse,NULL)

函数作用:开始nID号定时器

H:要定时的事件句柄,在MFC中不需要该参数,因为MFC封装在CWnd类中

nID:定时器号,比如1,2,3,….125

elipse:定时时间,单位为毫秒。比如1000,则表示定时1s

NULL:回调事件,表示定时结束后,要调用的窗口函数,一般为NULL,表示定时时间到后,调用系统默认的OnTimer()事件。

例子:SetTimer(1,1000,NULL);

 

1.2 OnTimer(){…}

定时时间到后,自动调用OnTimer()函数

OnTimer()函数是在WM_ONTIMER消息处理函数中打开

打开路径:ClassWizard—Messages—ONTIMER

 

1.3 KillTimer(nID)

函数作用:取消nID号定时器

nID:与SetTimer()函数中的nID号相同

例子:KillTimer(1);

 

二、     多个定时器用法

SetTimer(1,1000,NULL);

SetTimer(2,30000,NULL);

SetTimer(3,500,NULL);

系统会自动协调,只需要在OnTimer(nID){}函数体添加判断选择语句就行

void CENetCommunicationDlg::OnTimer(UINT_PTR nIDEvent)

{

   // TODO: Add your message handler code here and/orcall defaultCOleDateTime systime = COleDateTime::GetCurrentTime();

   switch (nIDEvent)

   {

   case 1:

   {

   COleDateTime systime = COleDateTime::GetCurrentTime();

//获取系统当前时间函数

   m_SysTime =systime.Format();

   UpdateData(FALSE);

   }

      break;

 

   case 2:

   {

   MessageBox(_T("30秒显示一次"));

   }

      break;

 

   case 3:

   {

   }

      break;

 

   case 4:

   {

   }

      break;

 

   case 5:

   {

   }

      break;

 

   default:

      break;

   }

   CDialogEx::OnTimer(nIDEvent);

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFC中OnTimer定时器用法 的相关文章

  • 从不同操作系统检索到的故障转储指向消息循环。如何从那里到达故障位置? (TeamViewer 使我的进程崩溃。)

    我们软件的一位客户抱怨说 该软件在他的 Windows XP 计算机上崩溃了 我让他下载ProcDump https technet microsoft com en us sysinternals dd996900 aspx并按如下方式运
  • MFC:如何减少OnInitialUpdate()滚动的时间成本?

    我需要打印多行数据 每行都可以进行文本换行 因此高度会有所不同 要进行滚动 我需要导出总高度 由于每条线可能有不同的高度 我只能遍历每条线来累加高度 如下所示 void CMyScrollView OnInitialUpdate for a
  • 使用 CSplitterWnd 在 CChildFrame 中创建多个视图

    我正在使用 MFC MDI 我需要创建如下视图 我的 ChildWnd 分为两部分 它们是LeftView CView 和RightView CScrollView LeftView 分为两部分 TreeView 和 FormView 我怎
  • MFC:如何捕获Web浏览器控件中的链接单击事件?

    我有一个带有 Web 控件的 MFC 应用程序 单击可单击链接时 它将使用 IE 打开 而不是默认浏览器 问题 有没有办法强制使用默认浏览器打开它 如果没有 我如何捕获链接单击事件 以便稍后可以操纵单击事件 谢谢 不 据我所知还没有 查看有
  • AfxGetAppName() 返回垃圾字符

    我的应用程序中有以下代码行 CString strAppName AfxGetAppName 有时会充满strAppName出现了垃圾字符 我不明白为什么 有人有主意吗 TIA 如果你改变的话这是可能的m pszAppName手动 在应用程
  • 跨平台 Windows / OS X 开发,具有大量现有代码库

    对于使用 MFC 和 WinAPI 用 C 编写的复杂应用程序 有大量现有代码库 需要将其移植到 Mac OS X 理想的解决方案是在不同平台之间拥有尽可能多的通用代码 尤其是诸如业务之类的代码逻辑 GUI 可能会有所不同 具体取决于跨平台
  • 如何在现有 Windows 应用程序中获得 ATL 支持

    我正在 Visual Studio 2012 中使用 Qt 5 3 1 构建一个应用程序 我还想使用一个硬件库 这需要我向项目添加一个简单的 ATL 对象 这可以通过使用 Visual Studio 向导来完成 该向导抱怨我的项目既不是 M
  • MFC 是否提供了将文本放入剪贴板的快速方法?

    我们的代码库中的添加到剪贴板代码非常低级 分配全局内存等等 对于简单的情况 我只想将一些纯文本放在剪贴板上 是否有任何例程可以包装所有这些内容 一个例子是 CRichEditCtrl 具有 Copy 和 Cut 方法 可以自动将当前选择放入
  • 如何停止对辅助隐式加载 DLL 的 DLL 劫持

    例如 COMDLG32 DLL 隐式链接到以下系统 DLL 以及其他 xmllite dll dll srvcli dll wkscli dll 链接信息库 netutils dll 微星 dll 由于这些是由操作系统隐式加载的 而不是使用
  • 想要将 ColeDateTime 转换为 CTime

    我正在从数据库中读取日期时间ColeDateTime格式 我想将其转换为CTime获取日期 月份 年份和时间 CString repDt this will hold the datetime which i read from Datab
  • 如何将基数词转换为序数词

    有没有一种简单的方法可以将数字 1 2 3 转换为 1st 2nd 3rd 并且以这种方式我可以为该函数提供一种语言并具有它会返回我目标语言的正确形式吗 标准 C stl 或 boost 都可以 MFC 或 ATL win32 api 或我
  • 实现批量记录获取

    在程序开始时 我需要将数据从 MS Access 数据库 mdb 读取到下拉控件中 这样做是为了每当用户在该控件中键入内容时 应用程序都可以自动完成 不管怎样 从数据库中读取数据花了很长时间 所以我想我应该实现批量行获取 这是我的代码 CS
  • MinGW支持MFC吗?

    我已经使用 MinGW 开发了 WinAPI 应用程序 没有出现任何问题 现在 我可以用 MFC 做同样的事情吗 我只是在这里猜测 但我认为您需要购买 Visual Studio 的副本才能获得使用 MFC 的许可证 MFC 也不因其对 C
  • 错误 C2248: 'CObject::CObject' : 无法访问类 'CObject' afxwin.h 中声明的私有成员

    我试图让班级负责在灰色背景上放置一些文本 Score h pragma once class Score public Score Score void UpdateScore int points void UpdateLives int
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • Windows API 中逻辑坐标和设备坐标之间的混淆

    我一直在研究一个使用两个函数的 Visual Studio C Windows 应用程序项目SetWindowExt and SetViewportExt 我对这两个函数的作用以及为什么它们是必要的感到困惑 搜索这些函数 我得出了逻辑坐标和
  • C++ 中的转换错误

    有人可以帮我解决这个错误吗 我是 C 新手 看来错误就发生在一堆宏中 我能做什么来解决它 或者我怎样才能追踪到它的源头 我真的不明白这个错误 这是否意味着编译器尝试转换该方法void ReadCPUparameter to a LRESUL
  • CComboBox DDX_CBString 行为令人困惑

    我在对话框中使用 ComboBox 控件为用户提供一些有用的值 例如 10 20 100 400 800 但让用户根据需要插入准确的值 经过很长时间我发现 如果我输入值40在 Combobox 中 Combobox 始终在 UpdataDa
  • 在 MFC 中获取现有但非活动视图

    假设我想访问 MFC MDI 应用程序中文档类中的特定视图 如果它已打开 该视图当前可以是活动的 也可以是非活动的 如果我可以假设视图始终处于活动状态 我可以按照此说明进行操作 http support microsoft com kb 1
  • 使用 CWnd::EnableTooltips() 可以实现多行工具提示吗?

    我正在尝试使我的工具提示成为多行 但我似乎没有太多运气 我在创建 在本例中为编辑框 后直接调用 CWnd EnableTooltips 并处理 TTN NEEDTEXT 消息 我的工具提示显示正确 但仅显示为一行 我尝试将 n 添加到处理

随机推荐

  • linux 中写汇编,Linux 中的汇编语言(一)

    在阅读Linux源代码时 你可能碰到一些汇编语言片段 有些汇编语言出现在以 S为扩展名的汇编文件中 在这种文件中 整个程序全部由汇编语言组成 有些汇编命令出现在以 c为扩展名的C文件中 在这种文件中 既有C语言 也有汇编语言 我们把出现在C
  • 对接微信公众号的流程

    前言 最近对接一个新的微信公众号 功能比较简单 但是不熟悉微信公众号对接流程的同学可能需要花些时间阅读官方文档和调试 笔者对接过程也是一波三折 于是把流程分享出来帮助没有对接过的同学 对接流程 首先 开发微信公众号的相关功能一般是公司新申请
  • tkmybatis自定义xml报错

    刚刚再写一个项目 然后项目使用的是tk mybatis 后面我有在项目中引入了mybatis plus 想使用公司的自动生成类的文件 当引入进来后 我以为一切都是水到渠成的 当一执行 它给我报个这个错 我一看这个先去配置文件看了下 配置的路
  • 常用C#代码

    常用C 代码 获取系统路径 1 获取电脑的路径 string dir Environment GetFolderPath Environment SpecialFolder DesktopDirectory 获取系统桌面目录路径 strin
  • sql注入基础

    0x01sql语句基础 1 select语句 格式 select from table 从table表中获取字段信息 select from table where 在满足where后的条件下查询字段信息 2 insert语句 格式 ins
  • STM32通过串口2使用ESP8266WIFI模块连接新大陆云平台

    目录 使用硬件 分步骤 配置TCP连接 连接WIFI 1 使用ESP8266的复位引脚进行复位 2 发送基本AT指令 3 连接新大陆 4 新大陆云平台显示在线及上传数据测试成功 5 串口显示 5 涉及的函数 发生AT检测WIFI模块错误 如
  • JetBrains设置inline hint的背景色、前景色

    如题 修改IDE的hint前景色和背景色 修改后结果
  • 元宇宙的价值究竟在哪 有哪些方向值得重点关注?关于元宇宙进行详细介绍

    1992年 第一次经济危机持续至此给全球带来了极大的打击 而在互联网行业 网络不再是政府和军队专属的使用品 Dephi开始为他们的客户提供在线网络服务 并逐渐的从电子邮件服务发展到了全方位的网络服务 这一年对于整个互联网而言具有里程碑的历史
  • 【Vue3】vite配置css 的sourceMap ,以及文件引用配置别名

    Vite 2 9配置浏览器加载 CSS 源映射 vite config ts 有一个devSourcemap属性css可以设置为true 这是vite config ts我目前正在使用的文件 export default defineCon
  • [论文阅读] (17)CCS2019 针对PowerShell脚本的轻量级去混淆和语义感知攻击检测(经典)

    娜璋带你读论文 系列主要是督促自己阅读优秀论文及听取学术讲座 并分享给大家 希望您喜欢 由于作者的英文水平和学术能力不高 需要不断提升 所以还请大家批评指正 非常欢迎大家给我留言评论 学术路上期待与您前行 加油 前一篇总结了Powershe
  • 仿真软件都在这里了!20+国内外自动驾驶仿真软件大盘点

    编辑 智车科技 原文链接 https mp weixin qq com s nG48GndQVb7rFtMdjYUU3Q 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 仿真测试 技术交流群 导
  • 生态伙伴

    法律人的日常工作中 离不开案例文书 法律法规的检索 而如何高效 便利的进行内容检索 一直困扰着法律人 本期飞书生态伙伴 觅律搜索 是一款专门为法律人量身定制的智能法律信息检索工具 收录超过5000万份裁判文书 权威案例 法律法规 律师律所等
  • Thymeleaf 提示: Cannot perform conversion to XML from legacy HTML:

    SpringBoot 1 5 x 集成Thymeleaf 2 1 x 提示如下错误信息 http nio 9096 exec 1 ERROR org thymeleaf TemplateEngine THYMELEAF http nio 9
  • 加密货币:我们为何而战?

    在 加密货币 领域中肆虐的冲突是无止境的 这些激烈的争论冲突涉及到各个方面 参与各方也几乎不去尝试达成双方都能接受的妥协让步 有趣的是 站在这些争议焦点的对立面往往是同一群人 从加密货币极繁主义和财富的分配 到治理和共识算法等等 这些争议的
  • Ubuntu/linux 下安装jdk和eclipse,超详细教程

    1 首先下载jdk和eclipse jdk官方下载网址 http www oracle com technetwork java javase downloads index html 官方有时候下的很慢很慢 百度网盘现成的jdk8 htt
  • 保研之路——中山大学数据科学与计算机学院直硕夏令营

    中山大学数据科学与计算机学院直硕夏令营 个人情况 高校复试参与情况 中山大学数据科学与计算机学院直硕 7 14 7 20 结语 嗯 抱着不白花这么多路费住宿费的初衷准备写一个保研经验贴 希望学弟学妹少花点钱吧orz 我的战术大概是只要学校给
  • stm32实用篇4: stm32数据类型长度

    由于经常会忘记stm32的数据类型长度 测试一下 DEBUG INFO stm32数据类型长度 DEBUG INFO char d byte sizeof char DEBUG INFO short d byte sizeof short
  • 算法:归并排序和快排的区别

    一 二者比较 归并排序和快排的相同点 1 利用分治思想 2 具体实现都用递归 归并排序和快排的不同点 1 先分解再合并 归并排序先递归分解到最小粒度 然后从小粒度开始合并排序 自下而上的合并排序 2 边分解边排序 快速排序每次分解都实现整体
  • Educoder_web实训作业——写在最后

    今天终于把最后一章的web发了出来 这也是我第一次完整的将一个实训作业写成一个专栏推送 其实 这不是我第一次做关卡答案的文章了 上个学期Java实训的时候 由于当时自身也有很多题不是特别清楚 就上网搜了一下 没想到发现网上面已经有人开始再发
  • MFC中OnTimer定时器用法

    一 单个定时器用法 定时器工作主要流程 设置定时器SetTimer 时间到后调用OnTimer函数 关闭定时器KillTimer 可以在程序初始化用SetTimer函数弄成多个线程类似 并行进行多个函数功能 1 1 SetTimer H n