转载:https://www.zhaokeli.com/article/8262.html

问题描述

直接使用系统函数定义 参数  http://www.zhaokeli.com/article/1812.html   下面介绍在duilib中的使用方法

在duilib中使用时肯定要绑定到对应的窗口上,并且执行定时器里的方法时还得能访问这个类里面的其它成员方法等,实现这样的功能除啦使用消息处理应该也没有其它好的方法啦吧,如果创建线程来延时执行还得处理多线程数据传送的问题,

定时器使用方法

在需要计时的地方定义定时器,参数分别是窗口句柄,定时器id(记好后面要用到),间隔时间,定时器回调函数(留空(NULL)默认为处理窗口的 WM_TIMER 消息)

SetTimer(m_hWnd, , , NULL);

定时器处理函数

 LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT Toast::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
//如果是自己定义的计时器id时处理,因为同一个窗口可以定义很多个定时器
if (wParam == ) {
//处理代码
}
//下面设置为false,意思是消息继续传递不拦截,否则程序中有滚动条时因为这里拦截就会出现拖动失效的情况
bHandled = false;
return ;
}

拦截处理消息

 virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT Toast::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LRESULT lRes = ;
BOOL bHandled = false;
switch (uMsg) {
case WM_TIMER: lRes = OnTimer(uMsg, wParam, lParam, bHandled); break;
}
if (bHandled) return lRes;
return __super::HandleMessage(uMsg, wParam, lParam);
}

Duilib定时器的更多相关文章

  1. DuiLib——第一篇UIManager

    DUiLib 源码分析 --以UiLib 1.01版为分析目标 -------------------------------------------------------------------- ...

  2. duilib之源码分析

    <duilib之源码分析>1 stdAfx.h * lengthof(x) 计算数组长度宏 * MAX  两值最大 * MIN  两值最小 * CLAMP(x,a,b) x在a,b之间则取 ...

  3. duilib踩坑记录

    duilib官方 https://github.com/duilib/duilib duilib他人扩展 https://github.com/qdtroy/DuiLib_Ultimate 关于两者的 ...

  4. 让Duilib多线程编程更easy

    一.Duilib不能开发多线程程序? 记得非常久曾经就听有人说过Duilib的多线程支持性不好,原因是Duilib里面的控件是用数组管理的全局变量,不能进行多线程訪问,加锁非常麻烦.事实上这个说法是非 ...

  5. duilib库分析2.第一篇UIManager

    DUiLib 源码分析 ——以UiLib 1.01版为分析目标--------------------------------------------------------------------- ...

  6. 网易云信Duilib开发实践和Windows应用界面开发框架源码开源介绍

    序言 Duilib介绍 Duilib是windows平台下的一款轻量级directUI开源库(遵循BSD协议),完全免费,可用于商业软件开发,只需在软件包里附上协议文件即可.Duilib可以简单方便地 ...

  7. Objective-C三种定时器CADisplayLink / NSTimer / GCD的使用

    OC中的三种定时器:CADisplayLink.NSTimer.GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 @interface CADisplayLin ...

  8. 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)

    转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...

  9. [Java定时器]用Spring Task实现一个简单的定时器.

    今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...

随机推荐

  1. ZOJ1002 —— 深度优先搜索

    ZOJ1002 —— Fire net Time Limit: 2000 ms Memory Limit: 65536 KB Suppose that we have a square city wi ...

  2. 一张linux光盘查看是哪个版本号的方法

    在此查看版本号,方法如下:打开光盘,查找rpm包中的release,就是版本号.

  3. 2019年小结&2020年展望

    每篇一句 If you want love, then this is it. This is real life. It's not perfect but it's real. --Before ...

  4. 1022_Digital_Library (30分)

    这里提供两种写法, 其实都是一样的,第一种比较快. #include <bits/stdc++.h> using namespace std; map<string,set<s ...

  5. springboot 注解@EnableConfigurationProperties @ConfigurationProperties作用

    @EnableConfigurationProperties 在springboot启动类添加,当springboot程序启动时会立即加载@EnableConfigurationProperties注 ...

  6. NAT穿透的方式

    目前主要的NAT类型有如下几种: 1)Full-cone NAT, also known as one-to-one NAT 一旦一个内网地址 (iAddr:iPort) 被映射到一个外部地址 (eA ...

  7. CSS-禁止文本被选中

    pc端: .not-select{ -moz-user-select:none; /*火狐*/ -webkit-user-select:none; /*webkit浏览器*/ -ms-user-sel ...

  8. Thymeleaf Tutorial 文档 中文翻译

    原文档地址:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html Thymeleaf官网地址:https://www.thym ...

  9. Docker 安装 Logstash

    使用同版本镜像 7.4.1 1.下载Logstash镜像 docker pull logstash: #查看镜像 docker images 2.编辑logstash.yml配置文件logstash. ...

  10. [蓝桥杯2017初赛]Excel地址

    题目描述 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如,A表示第1列,B表示第2列,Z表示第26列,AA表示第27列,AB表示第28列,BA表示第53列,.... 当然Excel的最 ...